diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2009-08-27 13:23:32 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2009-08-29 21:15:55 -0400 |
commit | 65e234ec2c4a0659ca22531dc1372a185f088517 (patch) | |
tree | 40d36d893a8bf64e89b6eb031da7f6f8fe279bc3 /kernel/kprobes.c | |
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>
Diffstat (limited to 'kernel/kprobes.c')
-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) | |||
90 | */ | 90 | */ |
91 | static struct kprobe_blackpoint kprobe_blacklist[] = { | 91 | static struct kprobe_blackpoint kprobe_blacklist[] = { |
92 | {"preempt_schedule",}, | 92 | {"preempt_schedule",}, |
93 | {"native_get_debugreg",}, | ||
93 | {NULL} /* Terminator */ | 94 | {NULL} /* Terminator */ |
94 | }; | 95 | }; |
95 | 96 | ||