Both kprobes and kdb defined function do_int3.
Both functions were merged.
Signed off by: Michael Frank, email: [email protected]
diff -uN linux-2.6.9-mhf223/./arch/i386/kernel/traps.c.mhf.orig
linux-2.6.9-mhf223/./arch/i386/kernel/traps.c
--- linux-2.6.9-mhf223/./arch/i386/kernel/traps.c.mhf.orig 2004-11-24
16:51:02.000000000 +0800
+++ linux-2.6.9-mhf223/./arch/i386/kernel/traps.c 2004-11-24
17:33:13.000000000 +0800
@@ -692,15 +692,21 @@
nmi_callback = dummy_nmi_callback;
}
-#ifdef CONFIG_KPROBES
+#if defined(CONFIG_KPROBES) || defined(CONFIG_KDB)
asmlinkage int do_int3(struct pt_regs *regs, long error_code)
{
+#if defined(CONFIG_KPROBES)
if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)
== NOTIFY_STOP)
return 1;
/* This is an interrupt gate, because kprobes wants interrupts
disabled. Normal trap handlers don't. */
restore_interrupts(regs);
+#endif
+#ifdef CONFIG_KDB
+ if (kdb(KDB_REASON_BREAK, error_code, regs))
+ return 0;
+#endif /* CONFIG_KDB */
do_trap(3, SIGTRAP, "int3", 1, regs, error_code, NULL);
return 0;
}
@@ -811,16 +817,6 @@
return;
}
-#ifdef CONFIG_KDB
-asmlinkage void do_int3(struct pt_regs * regs, long error_code)
-{
- if (kdb(KDB_REASON_BREAK, error_code, regs))
- return;
- do_trap(3, SIGTRAP, "int3", 1, regs, error_code, NULL);
-}
-#endif /* CONFIG_KDB */
-
-
/*
* Note that we play around with the 'TS' bit in an attempt to get
* the correct behaviour even in the presence of the asynchronous
On Sun, Nov 28, 2004 at 04:18:46AM +0800, Michael Frank wrote:
> Both kprobes and kdb defined function do_int3.
> Both functions were merged.
Is there a reason KDB (or KPROBES for that matter) can't use the notifyr
chain? That's what KGDB does...
--
Tom Rini
http://gate.crashing.org/~trini/
On Mon, 29 Nov 2004 12:09:48 -0700,
Tom Rini <[email protected]> wrote:
>On Sun, Nov 28, 2004 at 04:18:46AM +0800, Michael Frank wrote:
>
>> Both kprobes and kdb defined function do_int3.
>> Both functions were merged.
>
>Is there a reason KDB (or KPROBES for that matter) can't use the notifyr
>chain? That's what KGDB does...
It's on my todo list for kdb v4.5.