diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 30f6fd8f68e0d..aff051e5521dc 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -663,6 +663,8 @@ static struct neighbour *___neigh_create(struct neigh_table *tbl, out_tbl_unlock: write_unlock_bh(&tbl->lock); out_neigh_release: + if (!exempt_from_gc) + atomic_dec(&tbl->gc_entries); neigh_release(n); goto out; }