Commit 095e200f authored by Eric Dumazet's avatar Eric Dumazet Committed by Jakub Kicinski
Browse files

net: failover: add net device refcount tracker

parent 63f13937
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ struct failover_ops {
struct failover {
	struct list_head list;
	struct net_device __rcu *failover_dev;
	netdevice_tracker	dev_tracker;
	struct failover_ops __rcu *ops;
};

+2 −2
Original line number Diff line number Diff line
@@ -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);