FAILED: patch "[PATCH] mptcp: fix missing wakeups in edge scenarios" failed to apply to 6.6-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x 9d8d28738f24b75616d6ca7a27cb4aed88520343
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026061539-dreadlock-pacifier-9f96@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 9d8d28738f24b75616d6ca7a27cb4aed88520343 Mon Sep 17 00:00:00 2001
From: Paolo Abeni <[email protected]>
Date: Tue, 2 Jun 2026 22:14:08 +1000
Subject: [PATCH] mptcp: fix missing wakeups in edge scenarios
The mptcp_recvmsg() can fill MPTCP socket receive queue via mptcp_move_skbs(), but currently does not try to wakeup any listener, because the same process is going to check the receive queue soon.
When multiple threads are reading from the same fd, the above can cause stall. Add the missing wakeup.
net/mptcp/protocol.c +4 -0
@@ -2276,6 +2276,10 @@ static bool mptcp_move_skbs(struct sock *sk)mptcp_backlog_spooled (sk, moved, &skbs); }mptcp_data_unlock (sk); + +if (enqueued &&mptcp_epollin_ready (sk)) + sk->sk_data_ready (sk); +return enqueued; }
Sasha Levin
maintainerPATCH 1/1 mptcp: fix missing wakeups in edge scenarios
From: Paolo Abeni <[email protected]>
[ Upstream commit 9d8d28738f24b75616d6ca7a27cb4aed88520343 ]
The mptcp_recvmsg() can fill MPTCP socket receive queue via mptcp_move_skbs(), but currently does not try to wakeup any listener, because the same process is going to check the receive queue soon.
When multiple threads are reading from the same fd, the above can cause stall. Add the missing wakeup.
--- net/mptcp/protocol.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
net/mptcp/protocol.c +5 -1
@@ -2187,7 +2187,11 @@ static bool __mptcp_move_skbs(struct mptcp_sock *msk) }if (ret)mptcp_check_data_fin ((struct sock *)msk); -return !skb_queue_empty (&msk->receive_queue); + + ret = !skb_queue_empty (&msk->receive_queue); +if (ret &&mptcp_epollin_ready (sk)) + sk->sk_data_ready (sk); +return ret; }static unsigned int mptcp_inq_hint (const struct sock *sk)
Signature · 1 line
2.53.0