Commit 85662c9f authored by Eric Dumazet's avatar Eric Dumazet Committed by Jakub Kicinski
Browse files

net: add net device refcount tracker to struct neighbour

parent 56c1c779
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@ struct neighbour {
	struct list_head	managed_list;
	struct rcu_head		rcu;
	struct net_device	*dev;
	netdevice_tracker	dev_tracker;
	u8			primary_key[0];
} __randomize_layout;

+2 −2
Original line number Diff line number Diff line
@@ -624,7 +624,7 @@ ___neigh_create(struct neigh_table *tbl, const void *pkey,

	memcpy(n->primary_key, pkey, key_len);
	n->dev = dev;
	dev_hold(dev);
	dev_hold_track(dev, &n->dev_tracker, GFP_ATOMIC);

	/* Protocol specific setup. */
	if (tbl->constructor &&	(error = tbl->constructor(n)) < 0) {
@@ -880,7 +880,7 @@ void neigh_destroy(struct neighbour *neigh)
	if (dev->netdev_ops->ndo_neigh_destroy)
		dev->netdev_ops->ndo_neigh_destroy(dev, neigh);

	dev_put(dev);
	dev_put_track(dev, &neigh->dev_tracker);
	neigh_parms_put(neigh->parms);

	neigh_dbg(2, "neigh %p is destroyed\n", neigh);