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: Mon, 18 Mar 2013 16:32:02 -0400 From: Neil Horman <nhorman@...driver.com> To: Vlad Yasevich <vyasevich@...il.com> Cc: Eric Dumazet <eric.dumazet@...il.com>, Sasha Levin <sasha.levin@...cle.com>, sri@...ibm.com, "David S. Miller" <davem@...emloft.net>, linux-sctp@...r.kernel.org, netdev@...r.kernel.org, Dave Jones <davej@...hat.com>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: sctp: hang in sctp_remaddr_seq_show On Mon, Mar 18, 2013 at 11:31:06AM -0400, Vlad Yasevich wrote: > On 03/18/2013 11:25 AM, Eric Dumazet wrote: > >On Mon, 2013-03-18 at 07:04 -0400, Neil Horman wrote: > > > >>I'm not sure why the process would never get back to the schedule, but looking > >>at the sctp_remaddr_seq_show function, I think that we should convert this > >>sequence: > >> sctp_local_bh_disable(); > >> read_lock(&head->lock); > >> rcu_read_lock(); > >> > >>to this: > >> read_lock(&head->lock); > >> rcu_read_lock_bh(); > >> > >>Neil > > > >I dont think so. > > > >BH needs to be disabled before read_lock(&head->lock); > > > >or else, write_lock() could deadlock (assuming it can be called from BH) > > > > > > If anything, this should probably be done like this: > > rcu_read_lock(); > read_lock_bh(&head->lock) > ... > > read_unlock_bh(&head->lock) > rcu_read_unlock(); > Vlads, right. We need to grab the rcu lock before the read lock, but we should probably use the rcu_read_lock_bh variant, since we're going to disable bottom halves anyway. Neil > -vlad > -- > To unsubscribe from this list: send the line "unsubscribe linux-sctp" in > the body of a message to majordomo@...r.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- 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