mptcp: process pending subflow error on close
authorPaolo Abeni <pabeni@redhat.com>
Sat, 16 Sep 2023 10:52:47 +0000 (12:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 Sep 2023 11:47:56 +0000 (12:47 +0100)
commit9f1a98813b4b686482e5ef3c9d998581cace0ba6
tree935c9d4a0a350703c796fe7e04570def0ab4030b
parentd5fbeff1ab812b6c473b6924bee8748469462e2c
mptcp: process pending subflow error on close

On incoming TCP reset, subflow closing could happen before error
propagation. That in turn could cause the socket error being ignored,
and a missing socket state transition, as reported by Daire-Byrne.

Address the issues explicitly checking for subflow socket error at
close time. To avoid code duplication, factor-out of __mptcp_error_report()
a new helper implementing the relevant bits.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/429
Fixes: 15cc10453398 ("mptcp: deliver ssk errors to msk")
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/protocol.c