Re: [PATCH 2.6.27-rc1-git5 2/26] mdb: correct kprobes int3 trap

From: Ananth N Mavinakayanahalli
Date: Wed Aug 06 2008 - 04:42:07 EST


On Tue, Aug 05, 2008 at 12:26:35AM -0600, jmerkey@xxxxxxxxxxxxxxxxxxxxx wrote:
...

> @@ -850,6 +871,10 @@
> #ifdef CONFIG_KPROBES
> void __kprobes do_int3(struct pt_regs *regs, long error_code)
> {
> +#ifdef CONFIG_MDB
> + if (mdb(BREAKPOINT_EXCEPTION, error_code, regs))
> + return;
> +#endif // CONFIG_MDB
> trace_hardirqs_fixup();
>
> if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP)

Kprobes needs to be the first consumer of these exceptions (via
notify_die); if the exception was due to a kprobe, it does its thing
without requiring any user intervention. Here, for example, you can get
into mdb for a kprobe breakpoint hit.

Please move the mdb hooks to after kprobes has been notified. Better
still, integrate mdb to use the notify_die infrastructure and use a
lower priority than what kprobes does for it.

Ananth
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/