soreuseport: Resolve merge conflict for v4/v6 ordering fix
[cascardo/linux.git] / net / ipv4 / inet_hashtables.c
index fcadb67..b76b0d7 100644 (file)
@@ -479,7 +479,11 @@ int __inet_hash(struct sock *sk, struct sock *osk,
                if (err)
                        goto unlock;
        }
-       hlist_add_head_rcu(&sk->sk_node, &ilb->head);
+       if (IS_ENABLED(CONFIG_IPV6) && sk->sk_reuseport &&
+               sk->sk_family == AF_INET6)
+               hlist_add_tail_rcu(&sk->sk_node, &ilb->head);
+       else
+               hlist_add_head_rcu(&sk->sk_node, &ilb->head);
        sock_set_flag(sk, SOCK_RCU_FREE);
        sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
 unlock: