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

The bond_3ad_handle_link_change 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 and
add a new pr_debug to debug the port message.

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