mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 18:54:09 +08:00
ab0615e2d6
Use fixmaps for text patching when the kernel text is read-only, inspired by x86. This makes jump labels and kprobes work with the currently available CONFIG_DEBUG_SET_MODULE_RONX and the upcoming CONFIG_DEBUG_RODATA options. Signed-off-by: Rabin Vincent <rabin@rab.in> [kees: fixed up for merge with "arm: use generic fixmap.h"] [kees: added parse acquire/release annotations to pass C=1 builds] [kees: always use stop_machine to keep TLB flushing local] Signed-off-by: Kees Cook <keescook@chromium.org> Acked-by: Nicolas Pitre <nico@linaro.org>
18 lines
399 B
C
18 lines
399 B
C
#ifndef _ARM_KERNEL_PATCH_H
|
|
#define _ARM_KERNEL_PATCH_H
|
|
|
|
void patch_text(void *addr, unsigned int insn);
|
|
void __patch_text_real(void *addr, unsigned int insn, bool remap);
|
|
|
|
static inline void __patch_text(void *addr, unsigned int insn)
|
|
{
|
|
__patch_text_real(addr, insn, true);
|
|
}
|
|
|
|
static inline void __patch_text_early(void *addr, unsigned int insn)
|
|
{
|
|
__patch_text_real(addr, insn, false);
|
|
}
|
|
|
|
#endif
|