summaryrefslogtreecommitdiff
path: root/net/ipv4/udp.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2014-06-25 07:41:54 +0200
committerIngo Molnar <mingo@kernel.org>2014-06-25 07:41:54 +0200
commit98d350cf7ae077eb8083ccc7c1bfc838344ac590 (patch)
treedfee7af0eff981b941db6bdbd1d5f039f9f85407 /net/ipv4/udp.c
parenta10d60c08cc3bbea9195e2b36440f557373623eb (diff)
parent0bdb3ccd02509a4380d54efd85effc6a9902d4fd (diff)
Merge branch 'perf/urgent' into perf/core, to pick up fixes and refresh the branch
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/ipv4/udp.c')
-rw-r--r--net/ipv4/udp.c4
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;