]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
io_uring/epoll: disallow adding an epoll file to an epoll context
authorJens Axboe <axboe@kernel.dk>
Thu, 23 Apr 2026 11:10:45 +0000 (05:10 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 15 May 2026 15:57:41 +0000 (09:57 -0600)
commitcfa1539b24aff18ecb71c6334e7270f810d145bb
tree923f9f2e844e1544e9ef2650403a367dcc976fbd
parent071858de47a29ae8b0bf2239a195df876806e28e
io_uring/epoll: disallow adding an epoll file to an epoll context

One of the nastier things about epoll is how it allows adding epoll
files to epoll contexts. This leads to all sorts of loop detection
code, and has been a source of issues in the past.

Arguably adding IORING_EPOLL_CTL is a historical mistake on the
io_uring side, but we're kind of stuck with it now as it does seem
to be in use according to code searches. But we can at least minimize
the damage a bit and just disallow this part of epoll, where nesting
issues can arise.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/epoll.c