diff options
Diffstat (limited to 'net/core/neighbour.c')
| -rw-r--r-- | net/core/neighbour.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index e93edb810103..a77a85e357e0 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -111,7 +111,7 @@ static void neigh_cleanup_and_release(struct neighbour *neigh)  unsigned long neigh_rand_reach_time(unsigned long base)  { -	return base ? (prandom_u32() % base) + (base >> 1) : 0; +	return base ? prandom_u32_max(base) + (base >> 1) : 0;  }  EXPORT_SYMBOL(neigh_rand_reach_time); @@ -409,7 +409,7 @@ static int __neigh_ifdown(struct neigh_table *tbl, struct net_device *dev,  	write_lock_bh(&tbl->lock);  	neigh_flush_dev(tbl, dev, skip_perm);  	pneigh_ifdown_and_unlock(tbl, dev); -	pneigh_queue_purge(&tbl->proxy_queue, dev_net(dev)); +	pneigh_queue_purge(&tbl->proxy_queue, dev ? dev_net(dev) : NULL);  	if (skb_queue_empty_lockless(&tbl->proxy_queue))  		del_timer_sync(&tbl->proxy_timer);  	return 0;  |