Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0895b08a authored by David S. Miller's avatar David S. Miller
Browse files

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: default avatarDavid S. Miller <davem@davemloft.net>
parent 05e3aa09
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -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);