public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* WARNING: at kernel/lockdep.c:2658 check_flags()
@ 2007-12-29 17:06 Marcin Slusarz
  2007-12-29 18:03 ` Peter Zijlstra
  0 siblings, 1 reply; 3+ messages in thread
From: Marcin Slusarz @ 2007-12-29 17:06 UTC (permalink / raw)
  To: LKML; +Cc: Peter Zijlstra, Ingo Molnar

Hi
Today I've got this (while i was upgrading my gentoo box):

WARNING: at kernel/lockdep.c:2658 check_flags()
Pid: 21680, comm: conftest Not tainted 2.6.24-rc6 #63

Call Trace:
 [<ffffffff80253457>] check_flags+0x1c7/0x1d0
 [<ffffffff80257217>] lock_acquire+0x57/0xc0
 [<ffffffff8024d5c0>] __atomic_notifier_call_chain+0x60/0xd0
 [<ffffffff8024d641>] atomic_notifier_call_chain+0x11/0x20
 [<ffffffff8024d67e>] notify_die+0x2e/0x30
 [<ffffffff8020da0a>] do_divide_error+0x5a/0xa0
 [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
 [<ffffffff80255b89>] trace_hardirqs_on+0xd9/0x180
 [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
 [<ffffffff80523c2d>] error_exit+0x0/0xa9

possible reason: unannotated irqs-off.
irq event stamp: 4693
hardirqs last  enabled at (4693): [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
hardirqs last disabled at (4692): [<ffffffff80522c17>] trace_hardirqs_off_thunk+0x35/0x37
softirqs last  enabled at (3546): [<ffffffff80238343>] __do_softirq+0xb3/0xd0
softirqs last disabled at (3521): [<ffffffff8020c97c>] call_softirq+0x1c/0x30

This is 11ee29577cc1637f94d903a6ea322cf1ed8ce1b3:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
from 25 Dec + some patches for udf (but I didn't mount it) and simple
patch for slab: http://lkml.org/lkml/2007/12/27/110

Marcin

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: WARNING: at kernel/lockdep.c:2658 check_flags()
  2007-12-29 17:06 WARNING: at kernel/lockdep.c:2658 check_flags() Marcin Slusarz
@ 2007-12-29 18:03 ` Peter Zijlstra
  2007-12-30 14:39   ` Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Zijlstra @ 2007-12-29 18:03 UTC (permalink / raw)
  To: Marcin Slusarz; +Cc: LKML, Ingo Molnar


On Sat, 2007-12-29 at 18:06 +0100, Marcin Slusarz wrote:
> Hi
> Today I've got this (while i was upgrading my gentoo box):
> 
> WARNING: at kernel/lockdep.c:2658 check_flags()
> Pid: 21680, comm: conftest Not tainted 2.6.24-rc6 #63
> 
> Call Trace:
>  [<ffffffff80253457>] check_flags+0x1c7/0x1d0
>  [<ffffffff80257217>] lock_acquire+0x57/0xc0
>  [<ffffffff8024d5c0>] __atomic_notifier_call_chain+0x60/0xd0
>  [<ffffffff8024d641>] atomic_notifier_call_chain+0x11/0x20
>  [<ffffffff8024d67e>] notify_die+0x2e/0x30
>  [<ffffffff8020da0a>] do_divide_error+0x5a/0xa0
>  [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
>  [<ffffffff80255b89>] trace_hardirqs_on+0xd9/0x180
>  [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
>  [<ffffffff80523c2d>] error_exit+0x0/0xa9
> 
> possible reason: unannotated irqs-off.
> irq event stamp: 4693
> hardirqs last  enabled at (4693): [<ffffffff80522bdd>] trace_hardirqs_on_thunk+0x35/0x3a
> hardirqs last disabled at (4692): [<ffffffff80522c17>] trace_hardirqs_off_thunk+0x35/0x37
> softirqs last  enabled at (3546): [<ffffffff80238343>] __do_softirq+0xb3/0xd0
> softirqs last disabled at (3521): [<ffffffff8020c97c>] call_softirq+0x1c/0x30

more early fixups for notify_die()..

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---

diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c
index 8fc3a27..3a10cf6 100644
--- a/arch/x86/kernel/traps_32.c
+++ b/arch/x86/kernel/traps_32.c
@@ -543,6 +543,7 @@ void do_##name(struct pt_regs * regs, long error_code) \
 	info.si_errno = 0; \
 	info.si_code = sicode; \
 	info.si_addr = (void __user *)siaddr; \
+	trace_hardirqs_fixup(); \
 	if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \
 						== NOTIFY_STOP) \
 		return; \
diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c
index 778667a..5e07af1 100644
--- a/arch/x86/kernel/traps_64.c
+++ b/arch/x86/kernel/traps_64.c
@@ -635,6 +635,7 @@ asmlinkage void do_##name(struct pt_regs * regs, long error_code) \
 	info.si_errno = 0; \
 	info.si_code = sicode; \
 	info.si_addr = (void __user *)siaddr; \
+	trace_hardirqs_fixup(); \
 	if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \
 							== NOTIFY_STOP) \
 		return; \



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: WARNING: at kernel/lockdep.c:2658 check_flags()
  2007-12-29 18:03 ` Peter Zijlstra
@ 2007-12-30 14:39   ` Ingo Molnar
  0 siblings, 0 replies; 3+ messages in thread
From: Ingo Molnar @ 2007-12-30 14:39 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: Marcin Slusarz, LKML


* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:

> > softirqs last disabled at (3521): [<ffffffff8020c97c>] 
> > call_softirq+0x1c/0x30
> 
> more early fixups for notify_die()..

thanks - i've picked this up into sched.git, for more testing.

	Ingo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-12-30 14:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-29 17:06 WARNING: at kernel/lockdep.c:2658 check_flags() Marcin Slusarz
2007-12-29 18:03 ` Peter Zijlstra
2007-12-30 14:39   ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox