2004-11-28 02:39:41

by Michael Frank

[permalink] [raw]
Subject: [PATCH 2.6.9] KDB: Fix compile problem when CONFIG_KPROBES and CONFIG_KDB set

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


2004-11-29 19:35:20

by Tom Rini

[permalink] [raw]
Subject: Re: [PATCH 2.6.9] KDB: Fix compile problem when CONFIG_KPROBES and CONFIG_KDB set

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/

2004-11-30 02:33:08

by Keith Owens

[permalink] [raw]
Subject: Re: [PATCH 2.6.9] KDB: Fix compile problem when CONFIG_KPROBES and CONFIG_KDB set

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.