kprobes/x86-32: Move irq-exit functions to kprobes section
authorMasami Hiramatsu <mhiramat@redhat.com>
Tue, 8 Sep 2009 16:47:55 +0000 (12:47 -0400)
committerFrederic Weisbecker <fweisbec@gmail.com>
Fri, 11 Sep 2009 01:59:35 +0000 (03:59 +0200)
commita00e817f42663941ea0aa5f85a9d1c4f8b212839
tree40d2f5e86bf58e4250066fa8cb606a8157e9019b
parentf12b4f546b4e327d5620a544a2bddab68de66027
kprobes/x86-32: Move irq-exit functions to kprobes section

Move irq-exit functions to .kprobes.text section to protect against
kprobes recursion.

When I ran kprobe stress test on x86-32, I found below symbols
cause unrecoverable recursive probing:

ret_from_exception
ret_from_intr
check_userspace
restore_all
restore_all_notrace
restore_nocheck
irq_return

And also, I found some interrupt/exception entry points that
cause similar problems.

This patch moves those symbols (including their container functions)
to .kprobes.text section to prevent any kprobes probing.

Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Jim Keniston <jkenisto@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
LKML-Reference: <20090908164755.24050.81182.stgit@dhcp-100-2-132.bos.redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
arch/x86/kernel/entry_32.S
kernel/kprobes.c