diff options
author | Josef Bacik <jbacik@fb.com> | 2017-01-19 23:47:46 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-20 20:35:51 +0100 |
commit | 319554f284dda9f2737d09df82ba3610bd8ddea3 (patch) | |
tree | 7ea132a82c8010dc602d420da536db7e49c9bddc /net | |
parent | Merge tag 'mlx5-updates-2017-01-19' of git://git.kernel.org/pub/scm/linux/ker... (diff) | |
download | linux-319554f284dda9f2737d09df82ba3610bd8ddea3.tar.xz linux-319554f284dda9f2737d09df82ba3610bd8ddea3.zip |
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>
Diffstat (limited to '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), |