Re: [Bug 10489] Kprobe smoke test lockdep warning

From: Peter Zijlstra
Date: Tue Apr 22 2008 - 12:06:32 EST


On Tue, 2008-04-22 at 11:25 -0400, Masami Hiramatsu wrote:
> Peter Zijlstra wrote:
> > On Tue, 2008-04-22 at 15:09 +0200, Peter Zijlstra wrote:
> >> On Mon, 2008-04-21 at 18:54 -0400, Masami Hiramatsu wrote:
> >>> Thank you for reporting.
> >>>
> >>> Actually, kprobes tries to fixup thread's flags in post_kprobe_handler
> >>> (which is called from kprobe_exceptions_notify) by
> >>> trace_hardirqs_fixup_flags(pt_regs->flags). However, even the irq flag
> >>> is set in pt_regs->flags, true hardirq is still off until returning
> >>> from do_debug. Thus, lockdep assumes that hardirq is off without annotation.
> >
> > Ah, can you clarrify? pt_regs->flags will only be set when returning to
> > the original trap site? in that case we should not need a lockdep
> > annotation I guess, unless its allowed and exptected for the int3 site
> > to change IRQ state.
>
> As far as I took a look at the lockdep, your suggestion is correct.
> post_kprobe_handler should not set a lockdep annotation, because
> processor's IF is not changed yet in that time.

That much was clear; but when _will_ it be changed?

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