On Thu, 12 Sep 2019 at 20:37, David Miller <da...@davemloft.net> wrote: > > From: Taehee Yoo <ap420...@gmail.com> > Date: Thu, 12 Sep 2019 19:14:37 +0900 > > > On Thu, 12 Sep 2019 at 18:38, David Miller <da...@davemloft.net> wrote: > >> > >> From: Taehee Yoo <ap420...@gmail.com> > >> Date: Thu, 12 Sep 2019 12:56:19 +0900 > >> > >> > I tested with this reproducer commands without lockdep. > >> > > >> > ip link add dummy0 type dummy > >> > ip link add link dummy0 name vlan1 type vlan id 1 > >> > ip link set vlan1 up > >> > > >> > for i in {2..200} > >> > do > >> > let A=$i-1 > >> > > >> > ip link add name vlan$i link vlan$A type vlan id $i > >> > done > >> > ip link del vlan1 <-- this command is added. > >> > >> Is there any other device type which allows arbitrary nesting depth > >> in this manner other than VLAN? Perhaps it is the VLAN nesting > >> depth that we should limit instead of all of this extra code. > > > > Below device types have the same problem. > > VLAN, BONDING, TEAM, VXLAN, MACVLAN, and MACSEC. > > All the below test commands reproduce a panic. > > I think then we need to move the traversals over to a iterative > rather than recursive algorithm.
I agree with that. So I will check it out then send a v3 patchset. Thank you!