android_kernel_samsung_sm8650/io_uring
Jens Axboe 24f473769e io_uring/poll: serialize poll linked timer start with poll removal
Commit ef7dfac51d8ed961b742218f526bd589f3900a59 upstream.

We selectively grab the ctx->uring_lock for poll update/removal, but
we really should grab it from the start to fully synchronize with
linked timeouts. Normally this is indeed the case, but if requests
are forced async by the application, we don't fully cover removal
and timer disarm within the uring_lock.

Make this simpler by having consistent locking state for poll removal.

Cc: stable@vger.kernel.org # 6.1+
Reported-by: Querijn Voet <querijnqyn@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-06-28 11:12:27 +02:00
..
advise.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
advise.h
alloc_cache.h io_uring: fix poll/netmsg alloc caches 2023-04-06 12:10:52 +02:00
cancel.c io_uring/cancel: re-grab ctx mutex after finishing wait 2023-01-12 12:02:38 +01:00
cancel.h
epoll.c io_uring: undeprecate epoll_ctl support 2023-06-09 10:34:23 +02:00
epoll.h
fdinfo.c io_uring/fdinfo: include locked hash table in fdinfo output 2023-01-18 11:58:15 +01:00
fdinfo.h
filetable.c io_uring/rsrc: fix null-ptr-deref in io_file_bitmap_get() 2023-03-30 12:49:25 +02:00
filetable.h io_uring: kill hot path fixed file bitmap debug checks 2022-10-16 17:07:53 -06:00
fs.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
fs.h
io_uring.c io_uring: fix memory leak when removing provided buffers 2023-04-13 16:55:31 +02:00
io_uring.h io_uring: mark task TASK_RUNNING before handling resume/task work 2023-03-10 09:34:07 +01:00
io-wq.c io_uring/io-wq: only free worker if it was allocated for creation 2023-01-18 11:58:33 +01:00
io-wq.h
kbuf.c io_uring: fix memory leak when removing provided buffers 2023-04-13 16:55:31 +02:00
kbuf.h io_uring: allow buffer recycling in READV 2022-09-21 10:30:43 -06:00
Makefile
msg_ring.c io_uring/msg_ring: let target know allocated index 2023-03-22 13:34:06 +01:00
msg_ring.h
net.c io_uring/net: disable partial retries for recvmsg with cmsg 2023-06-28 11:12:24 +02:00
net.h io_uring/net: zerocopy sendmsg 2022-09-21 13:15:02 -06:00
nop.c
nop.h
notif.c io_uring/net: introduce IORING_SEND_ZC_REPORT_USAGE flag 2022-12-31 13:33:11 +01:00
notif.h io_uring/net: introduce IORING_SEND_ZC_REPORT_USAGE flag 2022-12-31 13:33:11 +01:00
opdef.c io_uring: dont remove file from msg_ring reqs 2022-12-31 13:33:12 +01:00
opdef.h io_uring: dont remove file from msg_ring reqs 2022-12-31 13:33:12 +01:00
openclose.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
openclose.h
poll.c io_uring/poll: serialize poll linked timer start with poll removal 2023-06-28 11:12:27 +02:00
poll.h io_uring/poll: allow some retries for poll triggering spuriously 2023-03-11 13:55:43 +01:00
refs.h
rsrc.c io_uring/rsrc: use nospec'ed indexes 2023-05-11 23:03:24 +09:00
rsrc.h io_uring/rsrc: fix rogue rsrc node grabbing 2023-04-06 12:10:51 +02:00
rw.c use less confusing names for iov_iter direction initializers 2023-02-09 11:28:04 +01:00
rw.h io_uring/rw: don't lose partial IO result on fail 2022-09-21 13:15:02 -06:00
slist.h
splice.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
splice.h
sqpoll.c io_uring: unlock sqd->lock before sq thread release CPU 2023-06-21 16:00:53 +02:00
sqpoll.h
statx.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
statx.h
sync.c io_uring: make io_kiocb_to_cmd() typesafe 2022-08-12 17:01:00 -06:00
sync.h
tctx.c io_uring: remove io_register_submitter 2022-10-07 12:25:30 -06:00
tctx.h io_uring: simplify __io_uring_add_tctx_node 2022-10-07 12:25:30 -06:00
timeout.c io_uring: remove io_req_tw_post_queue 2023-02-01 08:34:41 +01:00
timeout.h io_uring: remove unused return from io_disarm_next 2022-09-21 13:15:01 -06:00
uring_cmd.c block/io_uring: pass in issue_flags for uring_cmd task_work handling 2023-04-06 12:10:51 +02:00
uring_cmd.h
xattr.c __io_setxattr(): constify path 2022-09-01 17:39:05 -04:00
xattr.h