• Veaceslav Falico's avatar
    bonding: correctly verify for the first slave in bond_enslave · 23c147e0
    Veaceslav Falico authored
    After commit 1f718f0f ("bonding: populate
    neighbour's private on enslave"), we've moved the actual 'linking' in the
    end of the function - so that, once linked, the slave is ready to be used,
    and is not still in the process of enslaving.
    
    However, 802.3ad verified if it's the first slave by looking at the
    
    if (bond_first_slave(bond) == new_slave)
    
    which, because we've moved the linking to the end, became broken - on the
    first slave bond_first_slave(bond) returns NULL.
    
    Fix this by verifying if the prev_slave, that equals bond_last_slave(), is
    actually populated - if it is - then it's not the first slave, and vice
    versa.
    
    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>
    23c147e0
bond_main.c 126 KB