]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
bonding: fix locking in enslave failure path
authornikolay@redhat.com <nikolay@redhat.com>
Mon, 22 Apr 2013 08:12:22 +0000 (08:12 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Apr 2013 08:03:21 +0000 (04:03 -0400)
commitc6cdcf6d82bc8f53e64ad59464e0114fe48e28bb
tree3a15cd4d3dcbb1d057d7e60fe1efb1346c0ef942
parentecf01c22be034690b621d92c9ff488d607a9995a
bonding: fix locking in enslave failure path

In commit 3c5913b53fefc9d9e15a2d0f93042766658d9f3f ("bonding:
primary_slave & curr_active_slave are not cleaned on enslave failure")
I didn't account for the use of curr_active_slave without curr_slave_lock
and since there are such users, we should hold bond->lock for writing while
setting it to NULL (in the NULL case we don't need the curr_slave_lock).
Keeping the bond lock as to avoid the extra release/acquire cycle.

Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c