diff options
author | David S. Miller <davem@davemloft.net> | 2016-04-24 00:26:24 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-24 00:51:33 +0200 |
commit | 1602f49b58abcb0d34a5f0a29d68e7c1769547aa (patch) | |
tree | 4848fb0ffbc581ff465fd9c9e5a5b10b06f09b68 /include/net/sock.h | |
parent | Merge branch 'geneve-vxlan-deps' (diff) | |
parent | Merge tag 'rtc-4.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/abello... (diff) | |
download | linux-1602f49b58abcb0d34a5f0a29d68e7c1769547aa.tar.xz linux-1602f49b58abcb0d34a5f0a29d68e7c1769547aa.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts were two cases of simple overlapping changes,
nothing serious.
In the UDP case, we need to add a hlist_add_tail_rcu()
to linux/rculist.h, because we've moved UDP socket handling
away from using nulls lists.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sock.h')
-rw-r--r-- | include/net/sock.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index d997ec13a643..52448baf19d7 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -635,7 +635,11 @@ static inline void sk_add_node_rcu(struct sock *sk, struct hlist_head *list) static inline void __sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list) { - hlist_nulls_add_head_rcu(&sk->sk_nulls_node, list); + if (IS_ENABLED(CONFIG_IPV6) && sk->sk_reuseport && + sk->sk_family == AF_INET6) + hlist_nulls_add_tail_rcu(&sk->sk_nulls_node, list); + else + hlist_nulls_add_head_rcu(&sk->sk_nulls_node, list); } static inline void sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list) |