bonding: protect port for bond_3ad_adapter_duplex_changed()
authordingtianhong <dingtianhong@huawei.com>
Fri, 13 Dec 2013 09:29:24 +0000 (17:29 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Dec 2013 21:52:26 +0000 (16:52 -0500)
commitbca44a7341924ec92ee7a1ba085c8f0745aeb74e
tree1435233da672d0cebd94b411023d61b012f57473
parent71a06c59d19a57c8dd2972ebee88030f5b0c700e
bonding: protect port for bond_3ad_adapter_duplex_changed()

Jay Vosburgh said that the bond_3ad_adapter_duplex_changed is
called with RTNL only, and the function will modify the port's
information with no further locking, it will not mutex against
bond state machine and incoming LACPDU which do not hold RTNL,
So I add __get_state_machine_lock to protect the port.

But it is not a critical bug, it exist since day one, and till
now it has never been hit and reported, because changes to
speed is very rare, and will not occur critical problem.

The comments in the function is very old, cleanup it.

Suggested-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_3ad.c