This is a note to let you know that I've just added the patch titled mptcp: fix bogus sendmsg() return code under pressure to the 5.7-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: mptcp-fix-bogus-sendmsg-return-code-under-pressure.patch and it can be found in the queue-5.7 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Mon 10 Aug 2020 02:00:10 PM CEST From: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Mon, 3 Aug 2020 18:40:39 +0200 Subject: mptcp: fix bogus sendmsg() return code under pressure From: Paolo Abeni <pabeni@xxxxxxxxxx> [ Upstream commit 8555c6bfd5fddb1cf363d3cd157d70a1bb27f718 ] In case of memory pressure, mptcp_sendmsg() may call sk_stream_wait_memory() after succesfully xmitting some bytes. If the latter fails we currently return to the user-space the error code, ignoring the succeful xmit. Address the issue always checking for the xmitted bytes before mptcp_sendmsg() completes. Fixes: f296234c98a8 ("mptcp: Add handling of incoming MP_JOIN requests") Reviewed-by: Matthieu Baerts <matthieu.baerts@xxxxxxxxxxxx> Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- net/mptcp/protocol.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -802,7 +802,6 @@ fallback: mptcp_set_timeout(sk, ssk); if (copied) { - ret = copied; tcp_push(ssk, msg->msg_flags, mss_now, tcp_sk(ssk)->nonagle, size_goal); @@ -815,7 +814,7 @@ fallback: release_sock(ssk); out: release_sock(sk); - return ret; + return copied ? : ret; } static void mptcp_wait_data(struct sock *sk, long *timeo) Patches currently in stable-queue which might be from pabeni@xxxxxxxxxx are queue-5.7/mptcp-be-careful-on-subflow-creation.patch queue-5.7/mptcp-fix-bogus-sendmsg-return-code-under-pressure.patch