Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
fork

Configure Feed

Select the types of activity you want to include in your feed.

ipv6: Fix inet6_csk_bind_conflict()

Commit fda48a0d7a84 (tcp: bind() fix when many ports are bound)
introduced a bug on IPV6 part.
We should not call ipv6_addr_any(inet6_rcv_saddr(sk2)) but
ipv6_addr_any(inet6_rcv_saddr(sk)) because sk2 can be IPV4, while sk is
IPV6.

Reported-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Tested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Eric Dumazet and committed by
David S. Miller
6443bb1f 401da6ae

+1 -1
+1 -1
net/ipv6/inet6_connection_sock.c
··· 48 48 ipv6_rcv_saddr_equal(sk, sk2)) 49 49 break; 50 50 else if (sk->sk_reuse && sk2->sk_reuse && 51 - !ipv6_addr_any(inet6_rcv_saddr(sk2)) && 51 + !ipv6_addr_any(inet6_rcv_saddr(sk)) && 52 52 ipv6_rcv_saddr_equal(sk, sk2)) 53 53 break; 54 54 }