linux-yocto/io_uring
Pavel Begunkov 283bace040 io_uring/poll: fix POLLERR handling
commit c7cafd5b81 upstream.

8c8492ca64 ("io_uring/net: don't retry connect operation on EPOLLERR")
is a little dirty hack that
1) wrongfully assumes that POLLERR equals to a failed request, which
breaks all POLLERR users, e.g. all error queue recv interfaces.
2) deviates the connection request behaviour from connect(2), and
3) racy and solved at a wrong level.

Nothing can be done with 2) now, and 3) is beyond the scope of the
patch. At least solve 1) by moving the hack out of generic poll handling
into io_connect().

Cc: stable@vger.kernel.org
Fixes: 8c8492ca64 ("io_uring/net: don't retry connect operation on EPOLLERR")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/3dc89036388d602ebd84c28e5042e457bdfc952b.1752682444.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-24 08:51:48 +02:00
..
advise.c
advise.h
alloc_cache.h
cancel.c
cancel.h
epoll.c
epoll.h
fdinfo.c io_uring/fdinfo: annotate racy sq/cq head/tail reads 2025-06-04 14:40:18 +02:00
fdinfo.h
filetable.c io_uring/filetable: ensure node switch is always done, if needed 2025-04-10 14:33:41 +02:00
filetable.h
fs.c
fs.h
io_uring.c io_uring: account drain memory to cgroup 2025-06-27 11:07:26 +01:00
io_uring.h io_uring: get rid of remap_pfn_range() for mapping rings/sqes 2025-03-28 21:58:53 +01:00
io-wq.c io_uring/io-wq: inherit cpuset of cgroup in io worker 2024-10-17 15:21:14 +02:00
io-wq.h
kbuf.c io_uring/kbuf: account ring io_buffer_list memory 2025-07-06 10:58:04 +02:00
kbuf.h
Makefile
msg_ring.c
msg_ring.h
net.c io_uring/poll: fix POLLERR handling 2025-07-24 08:51:48 +02:00
net.h
nop.c io_uring: fail NOP if non-zero op flags is passed in 2024-06-12 11:02:55 +02:00
nop.h
notif.c
notif.h
opdef.c
opdef.h
openclose.c
openclose.h
poll.c io_uring/poll: fix POLLERR handling 2025-07-24 08:51:48 +02:00
poll.h
refs.h
rsrc.c io_uring: drop any code related to SCM_RIGHTS 2024-03-26 18:20:22 -04:00
rsrc.h io_uring: drop any code related to SCM_RIGHTS 2024-03-26 18:20:22 -04:00
rw.c io_uring/rw: commit provided buffer state on async 2025-02-21 13:49:53 +01:00
rw.h
slist.h
splice.c
splice.h
sqpoll.c io_uring/sqpoll: fix sqpoll error handling races 2025-01-02 10:30:54 +01:00
sqpoll.h
statx.c
statx.h
sync.c
sync.h
tctx.c io_uring/tctx: work around xa_store() allocation error issue 2024-12-14 19:54:49 +01:00
tctx.h
timeout.c io_uring: fix io_match_task must_hold 2024-08-03 08:49:53 +02:00
timeout.h
uring_cmd.c
uring_cmd.h
xattr.c
xattr.h