diff options
author | Masami Hiramatsu <mhiramat@kernel.org> | 2017-08-18 17:24:00 +0900 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-09-28 09:23:03 +0200 |
commit | 63fef14fc98a8b4fad777fd3bef4d068802b3f14 (patch) | |
tree | 538f39c60c9eaafc7a88fc5c717f53f86cd02ec1 /kernel/kprobes.c | |
parent | 4f56186ec051033848a669f1b145162d1c53e854 (diff) | |
download | lwn-63fef14fc98a8b4fad777fd3bef4d068802b3f14.tar.gz lwn-63fef14fc98a8b4fad777fd3bef4d068802b3f14.zip |
kprobes/x86: Make insn buffer always ROX and use text_poke()
Make insn buffer always ROX and use text_poke() to write
the copied instructions instead of set_memory_*().
This makes instruction buffer stronger against other
kernel subsystems because there is no window time
to modify the buffer.
Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: David S . Miller <davem@davemloft.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/150304463032.17009.14195368040691676813.stgit@devbox
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/kprobes.c')
-rw-r--r-- | kernel/kprobes.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index a1606a4224e1..15fba7fe57c8 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -117,7 +117,7 @@ enum kprobe_slot_state { SLOT_USED = 2, }; -static void *alloc_insn_page(void) +void __weak *alloc_insn_page(void) { return module_alloc(PAGE_SIZE); } |