From: Ido Schimmel <[email protected]>
Date: Mon, 1 Oct 2018 12:21:59 +0300
> team's ndo_add_slave() acquires 'team->lock' and later tries to open the
> newly enslaved device via dev_open(). This emits a 'NETDEV_UP' event
> that causes the VLAN driver to add VLAN 0 on the team device. team's
> ndo_vlan_rx_add_vid() will also try to acquire 'team->lock' and
> deadlock.
>
> Fix this by checking early at the enslavement function that a team
> device is not being enslaved to itself.
>
> A similar check was added to the bond driver in commit 09a89c219baf
> ("bonding: disallow enslaving a bond to itself").
...
> Fixes: 87002b03baab ("net: introduce vlan_vid_[add/del] and use them instead
> of direct [add/kill]_vid ndo calls")
> Signed-off-by: Ido Schimmel <[email protected]>
> Reported-and-tested-by: [email protected]
Applied and queued up for -stable.