bonding: verify if we still have slaves in bond_3ad_unbind_slave()
authorVeaceslav Falico <vfalico@redhat.com>
Fri, 27 Sep 2013 13:10:58 +0000 (15:10 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Sep 2013 22:27:33 +0000 (15:27 -0700)
commit746844931ed400eef32edaa069b996eb622bc39a
treed52cacdacaaf2410043fbb1425d82e8c416a9fa9
parent23c147e026bbb41dd26a2bda0404a95ea951072f
bonding: verify if we still have slaves in bond_3ad_unbind_slave()

After commit 1f718f0f4f97145f4072d2d72dcf85069ca7226d ("bonding: populate
neighbour's private on enslave"), we've moved the unlinking of the slave
to the earliest position possible - so that nobody will see an
half-uninited slave.

However, bond_3ad_unbind_slave() relied that, even while removing the last
slave, it is still accessible - via __get_first_agg() (and, eventually,
bond_first_slave()).

Fix that by verifying if the aggregator return is an actual aggregator, but
not NULL.

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