In case a qdisc is used on a ipvlan device, we need to use different
lockdep classes to avoid false positives.

Fixes: f9eb8aea2a1e ("net_sched: transform qdisc running bit into a seqcount")
Fixes: 79640a4ca695 ("net: add additional lock to qdisc to increase throughput")
Signed-off-by: Eric Dumazet <eduma...@google.com>
---
 drivers/net/ipvlan/ipvlan_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c
index 1c4d395fbd49..dee2e67db065 100644
--- a/drivers/net/ipvlan/ipvlan_main.c
+++ b/drivers/net/ipvlan/ipvlan_main.c
@@ -107,6 +107,7 @@ static void ipvlan_set_lockdep_class(struct net_device *dev)
 {
        lockdep_set_class(&dev->addr_list_lock, &ipvlan_netdev_addr_lock_key);
        netdev_for_each_tx_queue(dev, ipvlan_set_lockdep_class_one, NULL);
+       netdev_lockdep_set_classes(dev);
 }
 
 static int ipvlan_init(struct net_device *dev)
-- 
2.8.0.rc3.226.g39d4020

Reply via email to