diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2009-08-27 13:23:32 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2009-08-30 03:15:55 +0200 |
commit | 65e234ec2c4a0659ca22531dc1372a185f088517 (patch) | |
tree | 40d36d893a8bf64e89b6eb031da7f6f8fe279bc3 | |
parent | 8222d718b3ad3ae49c48f69ae4b6a1128c9a92cf (diff) |
kprobes: Prohibit to probe native_get_debugreg
Since do_debug() calls get_debugreg(), native_get_debugreg() will be
called from singlestepping. This can cause an int3 infinite loop.
We can't put it in the .text.kprobes section because it is inlined,
then we blacklist its name.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
LKML-Reference: <20090827172332.8246.34194.stgit@localhost.localdomain>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
-rw-r--r-- | kernel/kprobes.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index f72e96c25a38..3267d90bc9d6 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -90,6 +90,7 @@ static spinlock_t *kretprobe_table_lock_ptr(unsigned long hash) */ static struct kprobe_blackpoint kprobe_blacklist[] = { {"preempt_schedule",}, + {"native_get_debugreg",}, {NULL} /* Terminator */ }; |