]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/ipv4/tcp_ipv4.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
[linux.git] / net / ipv4 / tcp_ipv4.c
index 67b2dc7a17274bd4cdadd01c45a9afdc66dc01d3..92282f98dc82290bfaf53acc050182e4cc3be1eb 100644 (file)
@@ -121,11 +121,9 @@ int tcp_twsk_unique(struct sock *sk, struct sock *sktw, void *twp)
 #if IS_ENABLED(CONFIG_IPV6)
                if (tw->tw_family == AF_INET6) {
                        if (ipv6_addr_loopback(&tw->tw_v6_daddr) ||
-                           (ipv6_addr_v4mapped(&tw->tw_v6_daddr) &&
-                            (tw->tw_v6_daddr.s6_addr[12] == 127)) ||
+                           ipv6_addr_v4mapped_loopback(&tw->tw_v6_daddr) ||
                            ipv6_addr_loopback(&tw->tw_v6_rcv_saddr) ||
-                           (ipv6_addr_v4mapped(&tw->tw_v6_rcv_saddr) &&
-                            (tw->tw_v6_rcv_saddr.s6_addr[12] == 127)))
+                           ipv6_addr_v4mapped_loopback(&tw->tw_v6_rcv_saddr))
                                loopback = true;
                } else
 #endif
@@ -2453,7 +2451,7 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i)
 
        state = inet_sk_state_load(sk);
        if (state == TCP_LISTEN)
-               rx_queue = sk->sk_ack_backlog;
+               rx_queue = READ_ONCE(sk->sk_ack_backlog);
        else
                /* Because we don't lock the socket,
                 * we might find a transient negative value.