mptcp: fix shutdown vs fallback race
authorPaolo Abeni <pabeni@redhat.com>
Tue, 28 Jun 2022 01:02:38 +0000 (18:02 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 29 Jun 2022 03:45:42 +0000 (20:45 -0700)
commitd51991e2e31477853e5b9c1005ac617707077286
treeb49c6d4c82eaf1dff520fecdd3caa84f60718956
parent76a13b315709b5b65a7b65caf9ede9a8a38d8930
mptcp: fix shutdown vs fallback race

If the MPTCP socket shutdown happens before a fallback
to TCP, and all the pending data have been already spooled,
we never close the TCP connection.

Address the issue explicitly checking for critical condition
at fallback time.

Fixes: 1e39e5a32ad7 ("mptcp: infinite mapping sending")
Fixes: 0348c690ed37 ("mptcp: add the fallback check")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/options.c
net/mptcp/protocol.c
net/mptcp/protocol.h
net/mptcp/subflow.c