]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: fix __get_first_agg RCU usage
authorVeaceslav Falico <vfalico@redhat.com>
Fri, 10 Jan 2014 10:59:44 +0000 (11:59 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jan 2014 06:22:27 +0000 (22:22 -0800)
commit3aab471a23695b4a0cab543863e41a5726a3b935
treea6de632160b5525aaebc9e462a7790c1b41d932f
parent9cad5279a13e4fd5205bd117ab76ddb0e0ecfae8
bonding: fix __get_first_agg RCU usage

Currently, the RCU read lock usage is just wrong - it gets the slave struct
under RCU and continues to use it when RCU lock is released.

However, it's still safe to do this cause we didn't need the
rcu_read_lock() initially - all of the __get_first_agg() callers are either
holding RCU read lock or the RTNL lock, so that we can't sync while in it.

Fixes: 26f00241d ("bonding: add RCU for bond_3ad_state_machine_handler()")
CC: dingtianhong@huawei.com
CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_3ad.c