Re: [LOCKDEP] 2.6.18-rc1: inconsistent {hardirq-on-W} -> {in-hardirq-W} usage

From: Joseph Fannin
Date: Tue Jul 11 2006 - 01:09:26 EST


On Sun, Jul 09, 2006 at 09:45:44AM +0200, Ingo Molnar wrote:
>
> * Andrew Morton <akpm@xxxxxxxx> wrote:
>
> > yup, thanks, bug.
> >
> > --- a/arch/i386/kernel/time.c~get_cmos_time-locking-fix
> > +++ a/arch/i386/kernel/time.c
> > @@ -206,15 +206,16 @@ irqreturn_t timer_interrupt(int irq, voi
> > unsigned long get_cmos_time(void)
> > {
> > unsigned long retval;
> > + unsigned long flags;
> >
> > - spin_lock(&rtc_lock);
> > + spin_lock_irqsave(&rtc_lock, flags);
>
> Acked-by: Ingo Molnar <mingo@xxxxxxx>
>
> this bug has been in the upstream kernel for a couple of years: it was
> apparently introduced as part of HPET support, via the late_time_init()
> hook/hack in init/main.c. The lockup window is open once, during bootup.


2.6.18-rc1-mm1, which includes this change, is printing this at
the same point I used to get the lockdep message:

[ 25.628000] BUG: warning at kernel/lockdep.c:1803/trace_hardirqs_on()
[ 25.628000] [<c0104a18>] show_trace_log_lvl+0x148/0x170
[ 25.628000] [<c0105cab>] show_trace+0x1b/0x20
[ 25.628000] [<c0105cd4>] dump_stack+0x24/0x30
[ 25.628000] [<c014af4e>] trace_hardirqs_on+0xce/0x200
[ 25.628000] [<c036cf21>] _spin_unlock_irq+0x31/0x70
[ 25.628000] [<c0296584>] rtc_get_rtc_time+0x44/0x1a0
[ 25.628000] [<c01198bb>] hpet_rtc_interrupt+0x21b/0x280
[ 25.628000] [<c0161141>] handle_IRQ_event+0x31/0x70
[ 25.628000] [<c0162d37>] handle_edge_irq+0xe7/0x210
[ 25.628000] [<c0106192>] do_IRQ+0x92/0x120
[ 25.628000] [<c0104121>] common_interrupt+0x25/0x2c
[ 25.628000] [<b7f15410>] 0xb7f15410


Updated dmesg and .config:

http://home.columbus.rr.com/jfannin3/dmesg-2.6.18-rc1-mm1
http://home.columbus.rr.com/jfannin3/config-2.6.18-rc1-mm1

--
Joseph Fannin
jhf@xxxxxxxxxxxxxx

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