diff options
| author | Puranjay Mohan <puranjay12@gmail.com> | 2023-08-31 13:12:28 +0000 |
|---|---|---|
| committer | Palmer Dabbelt <palmer@rivosinc.com> | 2023-09-06 06:26:06 -0700 |
| commit | cad539baa48ff257b598000a90db2b7edd4b2dd5 (patch) | |
| tree | eee232a8bf720d79d5c2a19e76df01658e593658 /arch/riscv/include/asm/patch.h | |
| parent | 9721873c3c023254f04138bbb21d539b4f0f0ad6 (diff) | |
| download | linux-cad539baa48ff257b598000a90db2b7edd4b2dd5.tar.gz linux-cad539baa48ff257b598000a90db2b7edd4b2dd5.tar.bz2 linux-cad539baa48ff257b598000a90db2b7edd4b2dd5.zip | |
riscv: implement a memset like function for text
The BPF JIT needs to write invalid instructions to RX regions of memory to
invalidate removed BPF programs. This needs a function like memset() that
can work with RX memory.
Implement patch_text_set_nosync() which is similar to text_poke_set() of
x86.
Signed-off-by: Puranjay Mohan <puranjay12@gmail.com>
Reviewed-by: Pu Lehui <pulehui@huawei.com>
Acked-by: Björn Töpel <bjorn@kernel.org>
Tested-by: Björn Töpel <bjorn@rivosinc.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/r/20230831131229.497941-4-puranjay12@gmail.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch/riscv/include/asm/patch.h')
| -rw-r--r-- | arch/riscv/include/asm/patch.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/riscv/include/asm/patch.h b/arch/riscv/include/asm/patch.h index 63c98833d510..e88b52d39eac 100644 --- a/arch/riscv/include/asm/patch.h +++ b/arch/riscv/include/asm/patch.h @@ -7,6 +7,7 @@ #define _ASM_RISCV_PATCH_H int patch_text_nosync(void *addr, const void *insns, size_t len); +int patch_text_set_nosync(void *addr, u8 c, size_t len); int patch_text(void *addr, u32 *insns, int ninsns); extern int riscv_patch_in_stop_machine; |
