arm: use fixmap for text patching when text is RO
authorRabin Vincent <rabin@rab.in>
Thu, 24 Apr 2014 21:28:57 +0000 (23:28 +0200)
committerKees Cook <keescook@chromium.org>
Thu, 16 Oct 2014 21:38:53 +0000 (14:38 -0700)
commitab0615e2d6fb074764a3e4d05f1326fa2fdb4627
tree50f160291b6102404b8482c29247099eaf1e68a8
parent99b4ac9afce4129323b5b4c7002a942a9489914c
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>
arch/arm/include/asm/fixmap.h
arch/arm/kernel/jump_label.c
arch/arm/kernel/patch.c
arch/arm/kernel/patch.h