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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 18 Aug 2007 15:03:37 -0700 From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com> To: Corey Minyard <minyard@....org> Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...e.hu>, herbert@...dor.apana.org.au, 123.oleg@...il.com, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, David Miller <davem@...emloft.net>, Daniel Walker <dwalker@...sta.com>, josht@...ux.vnet.ibm.com Subject: Re: [PATCH] lockdep: annotate rcu_read_{,un}lock() On Fri, Aug 17, 2007 at 01:48:09PM -0500, Corey Minyard wrote: > Paul E. McKenney wrote: > >On Fri, Aug 17, 2007 at 09:56:45AM +0200, Peter Zijlstra wrote: > > > >>On Thu, 2007-08-16 at 09:01 -0700, Paul E. McKenney wrote: > >> > >>>On Thu, Aug 16, 2007 at 04:25:07PM +0200, Peter Zijlstra wrote: > >>> > >>>>There seem to be some unbalanced rcu_read_{,un}lock() issues of late, > >>>>how about doing something like this: > >>>> > >>>This will break when rcu_read_lock() and rcu_read_unlock() are invoked > >>>from NMI/SMI handlers -- the raw_local_irq_save() in lock_acquire() will > >>>not mask NMIs or SMIs. > >>> > >>>One approach would be to check for being in an NMI/SMI handler, and > >>>to avoid calling lock_acquire() and lock_release() in those cases. > >>> > >>It seems: > >> > >>#define nmi_enter() do { lockdep_off(); __irq_enter(); } while > >>(0) > >>#define nmi_exit() do { __irq_exit(); lockdep_on(); } while (0) > >> > >>Should make it all work out just fine. (for NMIs at least, /me fully > >>ignorant of the workings of SMIs) > >> > > > >Very good point, at least for NMIs on i386 and x86_64. Can't say that I > >know much about SMIs myself. Or about whatever equivalents to NMIs and > >SMIs might exist on other platforms. :-/ Of course, the other platforms > >could be handled by making the RCU lockdep operate only on i386 and x86_64 > >if required. > > > >Corey, any advice on SMI handlers? Is there something like nmi_enter() > >and nmi_exit() that allows disabing lockdep? > > > You will certainly need something like nmi_enter() and nmi_exit() for > SMIs, since they can occur at any time like NMIs. As far as anything > else, you just have to be extremely careful and remember that it can > occur anyplace. But you already know that :). So we would need to create an smi_enter() and smi_exit() an place them appropriately. Any preferences? > It would be nice if the PowerPC board vendors would tie watchdog > pretimeouts and some type of timer into the SMI input. It would make > debugging certain problems much easier. And all those Marvell bridge > chips have a watchdog pretimeout and I haven't seen any board vendor > wire it up :(. Can't say that I have much influence over them, but I must agree that debuggability is a very good thing! Thanx, Paul - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists