From 98235309950fcec8e821cc258fb3eefca010bc6a Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sat, 16 Jul 2011 17:36:53 -0700 Subject: [PATCH] neigh: Simply destroy handling wrt. hh_cache. Now that hh_cache entries are embedded inside of neighbour entries, their lifetimes and accesses are now synchronous to that of the encompassing neighbour object. Therefore we don't need to hook up the blackhole op to hh_output on destroy. Signed-off-by: David S. Miller --- net/core/neighbour.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 77a399f2ad034..83f9998f33478 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -689,8 +689,6 @@ static void neigh_destroy_rcu(struct rcu_head *head) */ void neigh_destroy(struct neighbour *neigh) { - struct hh_cache *hh; - NEIGH_CACHE_STAT_INC(neigh->tbl, destroys); if (!neigh->dead) { @@ -703,13 +701,6 @@ void neigh_destroy(struct neighbour *neigh) if (neigh_del_timer(neigh)) printk(KERN_WARNING "Impossible event.\n"); - hh = &neigh->hh; - if (hh->hh_len) { - write_seqlock_bh(&hh->hh_lock); - hh->hh_output = neigh_blackhole; - write_sequnlock_bh(&hh->hh_lock); - } - skb_queue_purge(&neigh->arp_queue); dev_put(neigh->dev); -- 2.39.5