aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sock.h
diff options
context:
space:
mode:
authorTim Hansen <devtimhansen@gmail.com>2017-10-23 15:35:58 -0400
committerDavid S. Miller <davem@davemloft.net>2017-10-24 18:46:22 +0900
commitb6f4f8484d88b69f700907200a9a9ec73806355f (patch)
tree64f84a78519c929dd84780343a1e4bece03a3261 /include/net/sock.h
parentipv4: tcp_minisocks: use BUG_ON instead of if condition followed by BUG (diff)
downloadlinux-dev-b6f4f8484d88b69f700907200a9a9ec73806355f.tar.xz
linux-dev-b6f4f8484d88b69f700907200a9a9ec73806355f.zip
net/sock: Update sk rcu iterator macro.
Mark hlist node in sk rcu iterator as protected by the rcu. hlist_next_rcu accomplishes this and silences the warnings sparse throws. Found with make C=1 net/ipv4/udp.o on linux-next tag next-20171009. Signed-off-by: Tim Hansen <devtimhansen@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--include/net/sock.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index 4827094f1db4..6f1be9726e02 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -737,10 +737,10 @@ static inline void sk_add_bind_node(struct sock *sk,
*
*/
#define sk_for_each_entry_offset_rcu(tpos, pos, head, offset) \
- for (pos = rcu_dereference((head)->first); \
+ for (pos = rcu_dereference(hlist_first_rcu(head)); \
pos != NULL && \
({ tpos = (typeof(*tpos) *)((void *)pos - offset); 1;}); \
- pos = rcu_dereference(pos->next))
+ pos = rcu_dereference(hlist_next_rcu(pos)))
static inline struct user_namespace *sk_user_ns(struct sock *sk)
{