Skip to contentSkip to conversation

KDB: Fix compile problem when CONFIG_KPROBES and CONFIG_KDB set

PATCH In review Michael Frank 3 participants 3 messages Nov 28, 2004 – Nov 30, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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

#1 lore raw
Quoted 2 lines · Michael Frank

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...

Signature · 2 lines
Tom Rini
http://gate.crashing.org/~trini/
#2 lore raw
Quoted 7 lines · Tom Rini
Quoted 2 lines · Michael Frank

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.