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
| ||
|
Date: Thu, 11 Apr 2013 10:08:10 -0400 From: Neil Horman <nhorman@...driver.com> To: Bart Van Assche <bvanassche@....org> Cc: David Miller <davem@...emloft.net>, "netdev@...r.kernel.org" <netdev@...r.kernel.org> Subject: Re: Netpoll triggers soft lockup On Thu, Apr 11, 2013 at 03:42:02PM +0200, Bart Van Assche wrote: > Hi, > > While testing a driver against kernel 3.9-rc6 I ran into a soft > lockup triggered by sending lots of kernel messages to a remote > system via netconsole. This behavior was probably introduced by > commit ca99ca14c ("netpoll: protect napi_poll and poll_controller > during dev_[open|close]"). That commit introduced a mutex in > netpoll_poll_dev(), which can be called from interrupt context. Is > there anyone who can tell me whether this is a bug in commit > ca99ca14c or in netconsole ? > Thanks for the report Bart, thats interesting. You're right, the problem was introduced by ca99ca14c, but it seems like a false positive to me. The warning is comming from DEBUG_LOCKS_WARN_ON in spin_lock_mutex. It appears that the intent here is to catch users of spin_lock_mutex (which is the mutex api), from trying to use mutex locking in interrupt context as that results in a panic. In this case however, we're using the mutex_trylock call, which is guaranteed not to sleep (which is the nature of the panic condition). So we really don't need to warn here. I think the right thing to do in this case is to add a flag to spin_lock_mutex that skips the warning if we're doing a trylock operation. I'll work up a patch shortly. Thanks again! Neil -- 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