Skip to content

Commit 85662c9

Browse files
edumazetkuba-moo
authored andcommitted
net: add net device refcount tracker to struct neighbour
Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 56c1c77 commit 85662c9

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

include/net/neighbour.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ struct neighbour {
158158
struct list_head managed_list;
159159
struct rcu_head rcu;
160160
struct net_device *dev;
161+
netdevice_tracker dev_tracker;
161162
u8 primary_key[0];
162163
} __randomize_layout;
163164

net/core/neighbour.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ ___neigh_create(struct neigh_table *tbl, const void *pkey,
624624

625625
memcpy(n->primary_key, pkey, key_len);
626626
n->dev = dev;
627-
dev_hold(dev);
627+
dev_hold_track(dev, &n->dev_tracker, GFP_ATOMIC);
628628

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

883-
dev_put(dev);
883+
dev_put_track(dev, &neigh->dev_tracker);
884884
neigh_parms_put(neigh->parms);
885885

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

0 commit comments

Comments
 (0)