]> git.baikalelectronics.ru Git - kernel.git/commit
net: mptcp: don't hang in mptcp_sendmsg() after TCP fallback
authorDavide Caratti <dcaratti@redhat.com>
Thu, 19 Mar 2020 21:45:37 +0000 (22:45 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Mar 2020 03:53:25 +0000 (20:53 -0700)
commit48e8536295ba6de2da13c9d2305e46b442515a0a
treefd907ca29ce4399ad30e48fd34a9a682643ecaeb
parent580ab009ea9ff3681366f0f5922e3caafebb61ca
net: mptcp: don't hang in mptcp_sendmsg() after TCP fallback

it's still possible for packetdrill to hang in mptcp_sendmsg(), when the
MPTCP socket falls back to regular TCP (e.g. after receiving unsupported
flags/version during the three-way handshake). Adjust MPTCP socket state
earlier, to ensure correct functionality of mptcp_sendmsg() even in case
of TCP fallback.

Fixes: 552decf26b51 ("net: mptcp: don't hang before sending 'MP capable with data'")
Fixes: 459938aacf91 ("mptcp: Check connection state before attempting send")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/protocol.c
net/mptcp/subflow.c