summaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_output.c
diff options
context:
space:
mode:
authorNeal Cardwell <ncardwell@google.com>2014-08-14 12:40:05 -0400
committerDavid S. Miller <davem@davemloft.net>2014-08-14 14:38:54 -0700
commit4fab9071950c2021d846e18351e0f46a1cffd67b (patch)
treef7538ee4e32315a32ab45f3e7bb00e9c6a919bfa /net/ipv4/tcp_output.c
parentbc8fc7b8f825ef17a0fb9e68c18ce94fa66ab337 (diff)
downloadlinux-4fab9071950c2021d846e18351e0f46a1cffd67b.tar.gz
linux-4fab9071950c2021d846e18351e0f46a1cffd67b.tar.bz2
linux-4fab9071950c2021d846e18351e0f46a1cffd67b.zip
tcp: fix tcp_release_cb() to dispatch via address family for mtu_reduced()
Make sure we use the correct address-family-specific function for handling MTU reductions from within tcp_release_cb(). Previously AF_INET6 sockets were incorrectly always using the IPv6 code path when sometimes they were handling IPv4 traffic and thus had an IPv4 dst. Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Diagnosed-by: Willem de Bruijn <willemb@google.com> Fixes: 563d34d057862 ("tcp: dont drop MTU reduction indications") Reviewed-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r--net/ipv4/tcp_output.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index ff3f0f75cc6c..5a7c41fbc6d3 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -800,7 +800,7 @@ void tcp_release_cb(struct sock *sk)
__sock_put(sk);
}
if (flags & (1UL << TCP_MTU_REDUCED_DEFERRED)) {
- sk->sk_prot->mtu_reduced(sk);
+ inet_csk(sk)->icsk_af_ops->mtu_reduced(sk);
__sock_put(sk);
}
}