diff options
author | Josef Bacik <jbacik@fb.com> | 2017-01-19 17:47:46 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-20 14:35:51 -0500 |
commit | 319554f284dda9f2737d09df82ba3610bd8ddea3 (patch) | |
tree | 7ea132a82c8010dc602d420da536db7e49c9bddc | |
parent | 7d982567f41e25a154b961c610303f23dfdd2820 (diff) | |
download | linux-319554f284dda9f2737d09df82ba3610bd8ddea3.tar.bz2 |
inet: don't use sk_v6_rcv_saddr directly
When comparing two sockets we need to use inet6_rcv_saddr so we get a NULL
sk_v6_rcv_saddr if the socket isn't AF_INET6, otherwise our comparison function
can be wrong.
Fixes: 637bc8b ("inet: reset tb->fastreuseport when adding a reuseport sk")
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/inet_connection_sock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index c7f7c5335369..b4d5980ade3b 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c @@ -99,7 +99,7 @@ int inet_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2, #if IS_ENABLED(CONFIG_IPV6) if (sk->sk_family == AF_INET6) return ipv6_rcv_saddr_equal(&sk->sk_v6_rcv_saddr, - &sk2->sk_v6_rcv_saddr, + inet6_rcv_saddr(sk2), sk->sk_rcv_saddr, sk2->sk_rcv_saddr, ipv6_only_sock(sk), |