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: Wed, 16 Feb 2011 21:46:25 -0800 (PST) From: David Miller <davem@...emloft.net> To: xiyou.wangcong@...il.com Cc: cypher.w@...il.com, linux-kernel@...r.kernel.org, cmetcalf@...era.com, eric.dumazet@...il.com, netdev@...r.kernel.org Subject: Re: IGMP and rwlock: Dead ocurred again on TILEPro From: Américo Wang <xiyou.wangcong@...il.com> Date: Thu, 17 Feb 2011 13:42:37 +0800 > On Thu, Feb 17, 2011 at 01:04:14PM +0800, Cypher Wu wrote: >>> >>> Have you turned CONFIG_LOCKDEP on? >>> >>> I think Eric already converted that rwlock into RCU lock, thus >>> this problem should disappear. Could you try a new kernel? >>> >>> Thanks. >>> >> >>I haven't turned CONFIG_LOCKDEP on for test since I didn't get too >>much information when we tried to figured out the former deadlock. >> >>IGMP used read_lock() instead of read_lock_bh() since usually >>read_lock() can be called recursively, and today I've read the >>implementation of MIPS, it's should also works fine in that situation. >>The implementation of TILEPro cause problem since after it use TNS set >>the lock-val to 1 and hold the original value and before it re-set >>lock-val a new value, it a race condition window. >> > > I see no reason why you can't call read_lock_bh() recursively, > read_lock_bh() is roughly equalent to local_bh_disable() + read_lock(), > both can be recursive. > > But I may miss something here. :-/ IGMP is doing this so that taking the read lock does not stop packet processing. TILEPro's rwlock implementation is simply buggy and needs to be fixed. -- 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