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)
commitc3c123d16c0ed4a81b9b18d3759a31c58b2fe504
treefd907ca29ce4399ad30e48fd34a9a682643ecaeb
parentb69bbab51bb7022b2044ea8f7715e4b9f4148f53
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: 767d3ded5fb8 ("net: mptcp: don't hang before sending 'MP capable with data'")
Fixes: 1954b86016cf ("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