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

From: jmerkey
Date: Wed Aug 06 2008 - 09:58:23 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
>

I have removed these hooks already and converted to debugger to use
notify_die -- finished it last night as per Andi's suggestions. This code
section has already been removed from reboot.c and traps_XX.c.

I'll post the new patch with the module based debugger later today.

Jeff

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