[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160813.151634.506622667393502211.davem@davemloft.net>
Date: Sat, 13 Aug 2016 15:16:34 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: sd@...asysnail.net
Cc: netdev@...r.kernel.org, vyasevich@...il.com,
eric.dumazet@...il.com, hannes@...essinduktion.org
Subject: Re: [PATCH net 2/2] net: remove type_check from
dev_get_nest_level()
From: Sabrina Dubroca <sd@...asysnail.net>
Date: Fri, 12 Aug 2016 16:10:33 +0200
> The idea for type_check in dev_get_nest_level() was to count the number
> of nested devices of the same type (currently, only macvlan or vlan
> devices).
> This prevented the false positive lockdep warning on configurations such
> as:
>
> eth0 <--- macvlan0 <--- vlan0 <--- macvlan1
>
> However, this doesn't prevent a warning on a configuration such as:
>
> eth0 <--- macvlan0 <--- vlan0
> eth1 <--- vlan1 <--- macvlan1
>
> In this case, all the locks end up with a nesting subclass of 1, so
> lockdep thinks that there is still a deadlock:
>
> - in the first case we have (macvlan_netdev_addr_lock_key, 1) and then
> take (vlan_netdev_xmit_lock_key, 1)
> - in the second case, we have (vlan_netdev_xmit_lock_key, 1) and then
> take (macvlan_netdev_addr_lock_key, 1)
>
> By removing the linktype check in dev_get_nest_level() and always
> incrementing the nesting depth, lockdep considers this configuration
> valid.
>
> Signed-off-by: Sabrina Dubroca <sd@...asysnail.net>
Applied.
Powered by blists - more mailing lists