kprobes: Prohibit to probe native_get_debugreg
authorMasami Hiramatsu <mhiramat@redhat.com>
Thu, 27 Aug 2009 17:23:32 +0000 (13:23 -0400)
committerFrederic Weisbecker <fweisbec@gmail.com>
Sun, 30 Aug 2009 01:15:55 +0000 (03:15 +0200)
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>
kernel/kprobes.c

index f72e96c..3267d90 100644 (file)
@@ -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 */
 };