mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
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 <davem@davemloft.net>
This commit is contained in:
parent
05e3aa0949
commit
0895b08ade
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user