From: Ido Schimmel <ido...@mellanox.com> 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 <ido...@mellanox.com> > Reported-and-tested-by: syzbot+bd051aba086537515...@syzkaller.appspotmail.com Applied and queued up for -stable.