summaryrefslogtreecommitdiff
path: root/net/core/failover.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2021-12-05 07:22:15 +0300
committerJakub Kicinski <kuba@kernel.org>2021-12-07 03:06:02 +0300
commit095e200f175f9843642343a4a48087fcfa4d3751 (patch)
treeb2d59a84e4f5d7fb787c053b8c9cc37193238be3 /net/core/failover.c
parent63f13937cbe9b00982dfc8e578b1aec8e5037333 (diff)
downloadlinux-095e200f175f9843642343a4a48087fcfa4d3751.tar.xz
net: failover: add net device refcount tracker
Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/core/failover.c')
-rw-r--r--net/core/failover.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/failover.c b/net/core/failover.c
index b5cd3c727285..dcaa92a85ea2 100644
--- a/net/core/failover.c
+++ b/net/core/failover.c
@@ -252,7 +252,7 @@ struct failover *failover_register(struct net_device *dev,
return ERR_PTR(-ENOMEM);
rcu_assign_pointer(failover->ops, ops);
- dev_hold(dev);
+ dev_hold_track(dev, &failover->dev_tracker, GFP_KERNEL);
dev->priv_flags |= IFF_FAILOVER;
rcu_assign_pointer(failover->failover_dev, dev);
@@ -285,7 +285,7 @@ void failover_unregister(struct failover *failover)
failover_dev->name);
failover_dev->priv_flags &= ~IFF_FAILOVER;
- dev_put(failover_dev);
+ dev_put_track(failover_dev, &failover->dev_tracker);
spin_lock(&failover_lock);
list_del(&failover->list);