FAILED: patch "[PATCH] io_uring/poll: ensure EPOLL_ONESHOT is propagated for" failed to apply to 5.10-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.10-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-5.10.y
git checkout FETCH_HEAD
git cherry-pick -x 1967f0b1cafdde37aa9e08e6021c14bcc484b7a5
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026050100-hamlet-outshoot-27c4@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1967f0b1cafdde37aa9e08e6021c14bcc484b7a5 Mon Sep 17 00:00:00 2001
From: Jens Axboe <[email protected]>
Date: Tue, 21 Apr 2026 13:24:33 -0600
Subject: [PATCH] io_uring/poll: ensure EPOLL_ONESHOT is propagated for
EPOLL_URING_WAKE
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Commit:
aacf2f9f382c ("io_uring: fix req->apoll_events")
fixed an issue where poll->events and req->apoll_events weren't synchronized, but then when the commit referenced in Fixes got added, it didn't ensure the same thing.
If we mask in EPOLLONESHOT in the regular EPOLL_URING_WAKE path, then ensure it's done for both. Including a link to the original report below, even though it's mostly nonsense. But it includes a reproducer that does show that IORING_CQE_F_MORE is set in the previous CQE, while no more CQEs will be generated for this request. Just ignore anything that pretends this is security related in any way, it's just the typical AI nonsense.
io_uring/poll.c +3 -1
@@ -417,8 +417,10 @@ static int io_poll_wake(struct wait_queue_entry *wait, unsigned mode, int sync,* disable multishot as there is a circular dependency between * CQ posting and triggering the event. */ -if (mask &EPOLL_URING_WAKE ) +if (mask &EPOLL_URING_WAKE ) { poll->events |=EPOLLONESHOT ; + req->apoll_events |=EPOLLONESHOT ; + }/* optional, saves extra locking for removal in tw handler */ if (mask && poll->events &EPOLLONESHOT ) {
Jens Axboe
maintainerQuoted 6 lines · On 5/1/26 5:09 AM, [email protected] wrote:
The patch below does not apply to the 5.10-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]>.
Quoted 8 lines
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-5.10.y
git checkoutFETCH_HEAD
git cherry-pick -x1967f0b1cafdde37aa9e08e6021c14bcc484b7a5
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026050100-hamlet-outshoot-27c4@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
Not needed.
Signature · 1 line
Jens Axboe