diff options
| -rw-r--r-- | net/ipv4/udp.c | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 185ed3e59802..d92f94b7e402 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1861,6 +1861,10 @@ static struct sock *__udp4_lib_mcast_demux_lookup(struct net *net,  	unsigned int count, slot = udp_hashfn(net, hnum, udp_table.mask);  	struct udp_hslot *hslot = &udp_table.hash[slot]; +	/* Do not bother scanning a too big list */ +	if (hslot->count > 10) +		return NULL; +  	rcu_read_lock();  begin:  	count = 0; | 
