Commit cbb2fb5c authored by Josef Bacik's avatar Josef Bacik Committed by David S. Miller

net: set tb->fast_sk_family

We need to set the tb->fast_sk_family properly so we can use the proper
comparison function for all subsequent reuseport bind requests.

Fixes: 637bc8bb ("inet: reset tb->fastreuseport when adding a reuseport sk")
Reported-and-tested-by: default avatarCole Robinson <crobinso@redhat.com>
Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 581fe0ea
...@@ -328,6 +328,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum) ...@@ -328,6 +328,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum)
tb->fastuid = uid; tb->fastuid = uid;
tb->fast_rcv_saddr = sk->sk_rcv_saddr; tb->fast_rcv_saddr = sk->sk_rcv_saddr;
tb->fast_ipv6_only = ipv6_only_sock(sk); tb->fast_ipv6_only = ipv6_only_sock(sk);
tb->fast_sk_family = sk->sk_family;
#if IS_ENABLED(CONFIG_IPV6) #if IS_ENABLED(CONFIG_IPV6)
tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr;
#endif #endif
...@@ -354,6 +355,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum) ...@@ -354,6 +355,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum)
tb->fastuid = uid; tb->fastuid = uid;
tb->fast_rcv_saddr = sk->sk_rcv_saddr; tb->fast_rcv_saddr = sk->sk_rcv_saddr;
tb->fast_ipv6_only = ipv6_only_sock(sk); tb->fast_ipv6_only = ipv6_only_sock(sk);
tb->fast_sk_family = sk->sk_family;
#if IS_ENABLED(CONFIG_IPV6) #if IS_ENABLED(CONFIG_IPV6)
tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr;
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment