6.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: hexue xue01.he@samsung.com
commit 63166b815dc163b2e46426cecf707dc5923d6d13 upstream.
Modify the check for whether the timer is initialized during IO transfer when passthrough is used with hybrid polling, to ensure that it's always setup correctly.
Cc: stable@vger.kernel.org Fixes: 01ee194d1aba ("io_uring: add support for hybrid IOPOLL") Signed-off-by: hexue xue01.he@samsung.com Link: https://lore.kernel.org/r/20250512052025.293031-1-xue01.he@samsung.com Signed-off-by: Jens Axboe axboe@kernel.dk Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- io_uring/uring_cmd.c | 5 +++++ 1 file changed, 5 insertions(+)
--- a/io_uring/uring_cmd.c +++ b/io_uring/uring_cmd.c @@ -244,6 +244,11 @@ int io_uring_cmd(struct io_kiocb *req, u return -EOPNOTSUPP; issue_flags |= IO_URING_F_IOPOLL; req->iopoll_completed = 0; + if (ctx->flags & IORING_SETUP_HYBRID_IOPOLL) { + /* make sure every req only blocks once */ + req->flags &= ~REQ_F_IOPOLL_STATE; + req->iopoll_start = ktime_get_ns(); + } }
ret = file->f_op->uring_cmd(ioucmd, issue_flags);