History log of /arch/arm/kernel/patch.c
Revision Date Author Comments
19d1aa8c788ca1906cdc0917bc82cd4fe2ac1b8b 24-Apr-2014 Rabin Vincent <rabin@rab.in> UPSTREAM: 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>

(cherry picked from commit ab0615e2d6fb074764a3e4d05f1326fa2fdb4627)
Signed-off-by: Kees Cook <keescook@google.com>
Change-Id: I2272667937c38a5a2b08a21f0afb8d07e7f3326e
b21d55e98ac2bbcbbeec9a8cb091f717fd95b072 18-Feb-2012 Rabin Vincent <rabin@rab.in> ARM: 7332/1: extract out code patch function from kprobes

Extract out the code patching code from kprobes so that it can be used
from the jump label code. Additionally, the separated code:

- Uses the IS_ENABLED() macros instead of the #ifdefs for THUMB2
support

- Unifies the two separate functions in kprobes, providing one function
that uses stop_machine() internally, and one that can be called from
stop_machine() directly

- Patches the text on all CPUs only on processors requiring software
broadcasting of cache operations

Acked-by: Jon Medhurst <tixy@yxit.co.uk>
Tested-by: Jon Medhurst <tixy@yxit.co.uk>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>