diff options
author | Rabin Vincent <rabin@rab.in> | 2014-04-24 23:28:57 +0200 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2014-10-16 23:38:53 +0200 |
commit | ab0615e2d6fb074764a3e4d05f1326fa2fdb4627 (patch) | |
tree | 50f160291b6102404b8482c29247099eaf1e68a8 /arch/arm/kernel/jump_label.c | |
parent | arm: fixmap: implement __set_fixmap() (diff) | |
download | linux-ab0615e2d6fb074764a3e4d05f1326fa2fdb4627.tar.xz linux-ab0615e2d6fb074764a3e4d05f1326fa2fdb4627.zip |
arm: use fixmap for text patching when text is RO
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>
Diffstat (limited to 'arch/arm/kernel/jump_label.c')
-rw-r--r-- | arch/arm/kernel/jump_label.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/jump_label.c b/arch/arm/kernel/jump_label.c index 4ce4f789446d..afeeb9ea6f43 100644 --- a/arch/arm/kernel/jump_label.c +++ b/arch/arm/kernel/jump_label.c @@ -19,7 +19,7 @@ static void __arch_jump_label_transform(struct jump_entry *entry, insn = arm_gen_nop(); if (is_static) - __patch_text(addr, insn); + __patch_text_early(addr, insn); else patch_text(addr, insn); } |