lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 31 Jul 2012 14:06:41 -0400
From:	Steven Rostedt <rostedt@...dmis.org>
To:	paulmck@...ux.vnet.ibm.com
Cc:	Fengguang Wu <fengguang.wu@...el.com>,
	Steven Rostedt <srostedt@...hat.com>,
	LKML <linux-kernel@...r.kernel.org>,
	David Howells <dhowells@...hat.com>
Subject: Re: __update_max_tr: rcu_read_lock() used illegally while idle!

On Tue, 2012-07-31 at 10:44 -0700, Paul E. McKenney wrote:

> OK, I interpret this as excluding NMI handlers, but please let me
> know if I am still being naive.  ;-)
> 

You are correct. This is only called where lockdep is called (to trace
enabling of IRQS). Note, that its called before normal irqs are actually
enabled (interrupts are still disabled), this is why it's called outside
of the in_irq() sections, because it is called just before returning
back to process context.

That said, because NMIs are so difficult, lockdep doesn't record the
disabling (and then enabling) of interrupts when an NMI triggers. Thus,
the irqsoff tracer also does not record NMIs. Which is fine, because
NMIs should not take long to run (we can add other mechanisms to time
NMI length if that is needed), and NMIs should not be enabling
interrupts nor taking any locks.

>From arch/x86/kernel/entry_64.S:

	/* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */

-- Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ