From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
x86@kernel.org, Ingo Molnar <mingo@redhat.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
linux-kernel@vger.kernel.org
Subject: DEBUG_LOCKS_WARN_ON() within lockdep trace_hardirqs_on_caller()
Date: Mon, 25 Jul 2011 15:05:14 +0300 [thread overview]
Message-ID: <20110725120514.GA3174@swordfish> (raw)
Hello,
Current 3.1.0-git3 (03873-g2c9c838), x86_64, has triggered an DEBUG_LOCKS_WARN_ON()
within trace_hardirqs_on_caller()
[ 4364.656167] ------------[ cut here ]------------
[ 4364.656186] WARNING: at kernel/lockdep.c:2532 trace_hardirqs_on_caller+0x6d/0x166()
[ 4364.656191] Hardware name: Aspire 5741G
[ 4364.656264] Pid: 26796, comm: conftest Not tainted 3.1.0-dbg-03873-g2c9c838-dirty #652
[ 4364.656269] Call Trace:
[ 4364.656279] [<ffffffff8103e970>] warn_slowpath_common+0x7e/0x96
[ 4364.656289] [<ffffffff81477056>] ? __bad_area_nosemaphore+0x35/0x1b9
[ 4364.656296] [<ffffffff8103e99d>] warn_slowpath_null+0x15/0x17
[ 4364.656303] [<ffffffff81072770>] trace_hardirqs_on_caller+0x6d/0x166
[ 4364.656310] [<ffffffff81072876>] trace_hardirqs_on+0xd/0xf
[ 4364.656317] [<ffffffff81477056>] __bad_area_nosemaphore+0x35/0x1b9
[ 4364.656324] [<ffffffff8147722f>] bad_area+0x45/0x4c
[ 4364.656333] [<ffffffff814850f9>] do_page_fault+0x2da/0x48a
[ 4364.656343] [<ffffffff810ec2d0>] ? do_brk+0x24e/0x2a2
[ 4364.656352] [<ffffffff8124642d>] ? trace_hardirqs_off_thunk+0x3a/0x3c
[ 4364.656360] [<ffffffff81482975>] page_fault+0x25/0x30
[ 4364.656366] ---[ end trace 9870b4ffc9ea6750 ]---
I guess, local_irq_enable() gets called 2 times in do_page_fault().
First,
1051 if (user_mode_vm(regs)) {
1052 local_irq_enable();
1053 error_code |= PF_USER;
1054 } else {
1055 if (regs->flags & X86_EFLAGS_IF)
1056 local_irq_enable();
1057 }
and later within one of bad_area-cases, e.g.,
1106 vma = find_vma(mm, address);
1107 if (unlikely(!vma)) {
1108 bad_area(regs, error_code, address);
1109 return;
1110 }
hitting assertion `!irqs_disabled()' failure in lockdep trace_hardirqs_on_caller().
Sergey
next reply other threads:[~2011-07-25 12:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-25 12:05 Sergey Senozhatsky [this message]
2011-07-25 13:42 ` DEBUG_LOCKS_WARN_ON() within lockdep trace_hardirqs_on_caller() Dave Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110725120514.GA3174@swordfish \
--to=sergey.senozhatsky@gmail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.