• Veaceslav Falico's avatar
    bonding: fix __get_first_agg RCU usage · 768b9549
    Veaceslav Falico authored
    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: be79bd04 ("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: default avatarVeaceslav Falico <vfalico@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    768b9549
bond_3ad.c 76.4 KB