[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140226.172344.2063576636598224310.davem@davemloft.net>
Date: Wed, 26 Feb 2014 17:23:44 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: vfalico@...hat.com
Cc: nikolay@...hat.com, netdev@...r.kernel.org, andy@...yhouse.net,
fubar@...ibm.com
Subject: Re: [PATCH net] bonding: fix a div error caused by the slave
release path
From: Veaceslav Falico <vfalico@...hat.com>
Date: Wed, 26 Feb 2014 14:28:54 +0100
> On Wed, Feb 26, 2014 at 02:20:30PM +0100, Nikolay Aleksandrov wrote:
>>There's a bug in the slave release function which leads the transmit
>>functions which use the bond->slave_cnt to a div by 0 because we might
>>just have released our last slave and made slave_cnt == 0 but at the
>>same
>>time we may have a transmitter after the check for an empty list which
>>will
>>fetch it and use it in the slave id calculation.
>>Fix it by moving the slave_cnt after synchronize_rcu so if this was
>>our
>>last slave any new transmitters will see an empty slave list which is
>>checked after rcu lock but before calling the mode transmit functions
>>which rely on bond->slave_cnt.
>>
>>Fixes: 278b208375 ("bonding: initial RCU conversion")
>>
>>CC: Veaceslav Falico <vfalico@...hat.com>
>>CC: Andy Gospodarek <andy@...yhouse.net>
>>CC: Jay Vosburgh <fubar@...ibm.com>
>>CC: David S. Miller <davem@...emloft.net>
>>
>>Signed-off-by: Nikolay Aleksandrov <nikolay@...hat.com>
>
> Acked-by: Veaceslav Falico <vfalico@...hat.com>
Applied, thanks.
--
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