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, 17 Feb 2011 13:42:37 +0800 From: Américo Wang <xiyou.wangcong@...il.com> To: Cypher Wu <cypher.w@...il.com> Cc: Américo Wang <xiyou.wangcong@...il.com>, linux-kernel@...r.kernel.org, Chris Metcalf <cmetcalf@...era.com>, Eric Dumazet <eric.dumazet@...il.com>, netdev <netdev@...r.kernel.org> Subject: Re: Fwd: IGMP and rwlock: Dead ocurred again on TILEPro 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. :-/ -- 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