Skip to content
Commit d7d3c051 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

team: set IFF_TEAM_PORT priv_flag after rx_handler is registered



When one tries to add eth as a port into team and that eth is already in
use by other rx_handler device (macvlan, bond, bridge, ...) a bug in
team_port_add() causes that IFF_TEAM_PORT flag is set before rx_handler
is registered. In between, netdev nofifier is called and
team_device_event() sees IFF_TEAM_PORT and thinks that rx_handler_data
pointer is set to team_port. But it isn't.

Fix this by reordering rx_handler register and IFF_TEAM_PORT priv flag
set so it is very similar to how bonding does this.

Reported-by: default avatarErik Hugne <erik.hugne@ericsson.com>
Fixes: 3d249d4c

 "net: introduce ethernet teaming device"
Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 72b603ee
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment