Re: [Bug 10489] Kprobe smoke test lockdep warning

From: Masami Hiramatsu
Date: Tue Apr 22 2008 - 11:27:19 EST


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.

Thanks,

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@xxxxxxxxxx

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