aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/udp.c4
-rw-r--r--net/ipv6/udp.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index ced820318f94..c3ecec8a9e1c 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -256,7 +256,7 @@ static struct sock *__udp4_lib_lookup(struct net *net, __be32 saddr,
256 int dif, struct udp_table *udptable) 256 int dif, struct udp_table *udptable)
257{ 257{
258 struct sock *sk, *result; 258 struct sock *sk, *result;
259 struct hlist_node *node; 259 struct hlist_node *node, *next;
260 unsigned short hnum = ntohs(dport); 260 unsigned short hnum = ntohs(dport);
261 unsigned int hash = udp_hashfn(net, hnum); 261 unsigned int hash = udp_hashfn(net, hnum);
262 struct udp_hslot *hslot = &udptable->hash[hash]; 262 struct udp_hslot *hslot = &udptable->hash[hash];
@@ -266,7 +266,7 @@ static struct sock *__udp4_lib_lookup(struct net *net, __be32 saddr,
266begin: 266begin:
267 result = NULL; 267 result = NULL;
268 badness = -1; 268 badness = -1;
269 sk_for_each_rcu(sk, node, &hslot->head) { 269 sk_for_each_rcu_safenext(sk, node, &hslot->head, next) {
270 /* 270 /*
271 * lockless reader, and SLAB_DESTROY_BY_RCU items: 271 * lockless reader, and SLAB_DESTROY_BY_RCU items:
272 * We must check this item was not moved to another chain 272 * We must check this item was not moved to another chain
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 1d9790e43dfc..32d914db6c4f 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -98,7 +98,7 @@ static struct sock *__udp6_lib_lookup(struct net *net,
98 int dif, struct udp_table *udptable) 98 int dif, struct udp_table *udptable)
99{ 99{
100 struct sock *sk, *result; 100 struct sock *sk, *result;
101 struct hlist_node *node; 101 struct hlist_node *node, *next;
102 unsigned short hnum = ntohs(dport); 102 unsigned short hnum = ntohs(dport);
103 unsigned int hash = udp_hashfn(net, hnum); 103 unsigned int hash = udp_hashfn(net, hnum);
104 struct udp_hslot *hslot = &udptable->hash[hash]; 104 struct udp_hslot *hslot = &udptable->hash[hash];
@@ -108,7 +108,7 @@ static struct sock *__udp6_lib_lookup(struct net *net,
108begin: 108begin:
109 result = NULL; 109 result = NULL;
110 badness = -1; 110 badness = -1;
111 sk_for_each_rcu(sk, node, &hslot->head) { 111 sk_for_each_rcu_safenext(sk, node, &hslot->head, next) {
112 /* 112 /*
113 * lockless reader, and SLAB_DESTROY_BY_RCU items: 113 * lockless reader, and SLAB_DESTROY_BY_RCU items:
114 * We must check this item was not moved to another chain 114 * We must check this item was not moved to another chain