diff options
| author | Mark Amirkan <markdamirkan@gmail.com> | 2026-09-13 10:30:05 +0000 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-09-16 17:28:06 -0700 |
| commit | 60404266ef3e0a1cd8f7a164060e0c83efb72f4b (patch) | |
| tree | 763559180bd2da2ba3c93ffd0ce6d5716b512aa4 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 33ff111d7ba3beb86e28938d6382bb5beabd865a (diff) | |
| download | linux-next-60404266ef3e0a1cd8f7a164060e0c83efb72f4b.tar.gz linux-next-60404266ef3e0a1cd8f7a164060e0c83efb72f4b.zip | |
mptcp: return sk_wait_data() errors from recvmsg()
Commit 581302298524 ("mptcp: error out earlier on disconnect") made
mptcp_recvmsg() stop when sk_wait_data() returns an error. The error is
stored in err, but the function then jumps to a path which returns
copied. When no data was copied, recvmsg() therefore returns zero and
reports a false EOF.
Store the result in copied, which is the value returned by the function.
This also keeps the usual partial-read result when data was copied before
the error.
A recvmsg() blocked in one thread reproduces the issue when another
thread disconnects the same MPTCP socket with connect(AF_UNSPEC).
Before this change recvmsg() returns zero; afterwards it returns -EPIPE.
Fixes: 581302298524 ("mptcp: error out earlier on disconnect")
Cc: stable@vger.kernel.org
Signed-off-by: Mark Amirkan <markdamirkan@gmail.com>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20260913-b4-send-mptcp-recv-error-v1-1-4eaa3684a8b8@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
