From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] team: Forbid enslaving team device to itself Date: Thu, 04 Oct 2018 13:56:20 -0700 (PDT) Message-ID: <20181004.135620.905434760592364740.davem@davemloft.net> References: <20181001092159.24775-1-idosch@mellanox.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, jiri@mellanox.com To: idosch@mellanox.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:55938 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727536AbeJEDvX (ORCPT ); Thu, 4 Oct 2018 23:51:23 -0400 In-Reply-To: <20181001092159.24775-1-idosch@mellanox.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Ido Schimmel 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 > Reported-and-tested-by: syzbot+bd051aba086537515cdb@syzkaller.appspotmail.com Applied and queued up for -stable.