* FAILED: patch "[PATCH] io_uring: fix lost getsockopt completions" failed to apply to 6.6-stable tree
@ 2024-07-29 10:13 gregkh
2024-07-29 17:38 ` Jens Axboe
0 siblings, 1 reply; 3+ messages in thread
From: gregkh @ 2024-07-29 10:13 UTC (permalink / raw)
To: asml.silence, axboe, leitao; +Cc: stable
The 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 <stable@vger.kernel.org>.
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 24dce1c538a7ceac43f2f97aae8dfd4bb93ea9b9
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2024072931-sarcastic-coagulant-6821@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Possible dependencies:
24dce1c538a7 ("io_uring: fix lost getsockopt completions")
d10f19dff56e ("io_uring/uring_cmd: switch to always allocating async data")
a9165b83c193 ("io_uring/rw: always setup io_async_rw for read/write requests")
8e5b3b89ecaf ("io_uring: remove struct io_tw_state::locked")
92219afb980e ("io_uring: force tw ctx locking")
6e6b8c62120a ("io_uring/rw: avoid punting to io-wq directly")
e1eef2e56cb0 ("io_uring/cmd: fix tw <-> issue_flags conversion")
6edd953b6ec7 ("io_uring/cmd: kill one issue_flags to tw conversion")
da12d9ab5889 ("io_uring/cmd: move io_uring_try_cancel_uring_cmd()")
8d0c12a80cde ("io-uring: add napi busy poll support")
405b4dc14b10 ("io-uring: move io_wait_queue definition to header file")
da08d2edb020 ("io_uring: re-arrange struct io_ring_ctx to reduce padding")
42c0905f0cac ("io_uring: cleanup handle_tw_list() calling convention")
9fe3eaea4a35 ("io_uring: remove unconditional looping in local task_work handling")
670d9d3df880 ("io_uring: remove next io_kiocb fetch in task_work running")
170539bdf109 ("io_uring: handle traditional task_work in FIFO order")
592b4805432a ("io_uring: remove looping around handling traditional task_work")
95041b93e90a ("io_uring: add io_file_can_poll() helper")
521223d7c229 ("io_uring/cancel: don't default to setting req->work.cancel_seq")
4bcb982cce74 ("io_uring: expand main struct io_kiocb flags to 64-bits")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 24dce1c538a7ceac43f2f97aae8dfd4bb93ea9b9 Mon Sep 17 00:00:00 2001
From: Pavel Begunkov <asml.silence@gmail.com>
Date: Tue, 16 Jul 2024 19:05:46 +0100
Subject: [PATCH] io_uring: fix lost getsockopt completions
There is a report that iowq executed getsockopt never completes. The
reason being that io_uring_cmd_sock() can return a positive result, and
io_uring_cmd() propagates it back to core io_uring, instead of IOU_OK.
In case of io_wq_submit_work(), the request will be dropped without
completing it.
The offending code was introduced by a hack in
a9c3eda7eada9 ("io_uring: fix submission-failure handling for uring-cmd"),
however it was fine until getsockopt was introduced and started
returning positive results.
The right solution is to always return IOU_OK, since
e0b23d9953b0c ("io_uring: optimise ltimeout for inline execution"),
we should be able to do it without problems, however for the sake of
backporting and minimising side effects, let's keep returning negative
return codes and otherwise do IOU_OK.
Link: https://github.com/axboe/liburing/issues/1181
Cc: stable@vger.kernel.org
Fixes: 8e9fad0e70b7b ("io_uring: Add io_uring command support for sockets")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
Link: https://lore.kernel.org/r/ff349cf0654018189b6077e85feed935f0f8839e.1721149870.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/io_uring/uring_cmd.c b/io_uring/uring_cmd.c
index 21ac5fb2d5f0..a54163a83968 100644
--- a/io_uring/uring_cmd.c
+++ b/io_uring/uring_cmd.c
@@ -265,7 +265,7 @@ int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
req_set_fail(req);
io_req_uring_cleanup(req, issue_flags);
io_req_set_res(req, ret, 0);
- return ret;
+ return ret < 0 ? ret : IOU_OK;
}
int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: FAILED: patch "[PATCH] io_uring: fix lost getsockopt completions" failed to apply to 6.6-stable tree
2024-07-29 10:13 FAILED: patch "[PATCH] io_uring: fix lost getsockopt completions" failed to apply to 6.6-stable tree gregkh
@ 2024-07-29 17:38 ` Jens Axboe
2024-07-29 17:44 ` Greg KH
0 siblings, 1 reply; 3+ messages in thread
From: Jens Axboe @ 2024-07-29 17:38 UTC (permalink / raw)
To: gregkh, asml.silence, leitao; +Cc: stable
On 7/29/24 4:13 AM, gregkh@linuxfoundation.org wrote:
>
> The 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 <stable@vger.kernel.org>.
>
> 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 24dce1c538a7ceac43f2f97aae8dfd4bb93ea9b9
> # <resolve conflicts, build, test, etc.>
> git commit -s
> git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2024072931-sarcastic-coagulant-6821@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
Not needed for 6.6-stable as it turns out, this one can get dropped.
--
Jens Axboe
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: FAILED: patch "[PATCH] io_uring: fix lost getsockopt completions" failed to apply to 6.6-stable tree
2024-07-29 17:38 ` Jens Axboe
@ 2024-07-29 17:44 ` Greg KH
0 siblings, 0 replies; 3+ messages in thread
From: Greg KH @ 2024-07-29 17:44 UTC (permalink / raw)
To: Jens Axboe; +Cc: asml.silence, leitao, stable
On Mon, Jul 29, 2024 at 11:38:06AM -0600, Jens Axboe wrote:
> On 7/29/24 4:13 AM, gregkh@linuxfoundation.org wrote:
> >
> > The 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 <stable@vger.kernel.org>.
> >
> > 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 24dce1c538a7ceac43f2f97aae8dfd4bb93ea9b9
> > # <resolve conflicts, build, test, etc.>
> > git commit -s
> > git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2024072931-sarcastic-coagulant-6821@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..
>
> Not needed for 6.6-stable as it turns out, this one can get dropped.
Will do, thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-07-29 17:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29 10:13 FAILED: patch "[PATCH] io_uring: fix lost getsockopt completions" failed to apply to 6.6-stable tree gregkh
2024-07-29 17:38 ` Jens Axboe
2024-07-29 17:44 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox