linux-kernelorg-stable/io_uring
Jens Axboe f024d3a8de io_uring/fdinfo: annotate racy sq/cq head/tail reads
syzbot complains about the cached sq head read, and it's totally right.
But we don't need to care, it's just reading fdinfo, and reading the
CQ or SQ tail/head entries are known racy in that they are just a view
into that very instant and may of course be outdated by the time they
are reported.

Annotate both the SQ head and CQ tail read with data_race() to avoid
this syzbot complaint.

Link: https://lore.kernel.org/io-uring/6811f6dc.050a0220.39e3a1.0d0e.GAE@google.com/
Reported-by: syzbot+3e77fd302e99f5af9394@syzkaller.appspotmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-04-30 07:17:17 -06:00
..
Kconfig io_uring: make zcrx depend on CONFIG_IO_URING 2025-03-31 07:07:44 -06:00
Makefile io_uring/epoll: remove CONFIG_EPOLL guards 2025-02-20 07:59:56 -07:00
advise.c
advise.h
alloc_cache.c
alloc_cache.h io_uring/net: convert to struct iou_vec 2025-03-07 13:41:08 -07:00
cancel.c
cancel.h
epoll.c io_uring/epoll: add support for IORING_OP_EPOLL_WAIT 2025-02-20 07:59:56 -07:00
epoll.h io_uring/epoll: add support for IORING_OP_EPOLL_WAIT 2025-02-20 07:59:56 -07:00
eventfd.c
eventfd.h
fdinfo.c io_uring/fdinfo: annotate racy sq/cq head/tail reads 2025-04-30 07:17:17 -06:00
fdinfo.h
filetable.c io_uring: cache nodes and mapped buffers 2025-02-28 07:05:46 -07:00
filetable.h
fs.c
fs.h
futex.c io_uring: introduce io_cache_free() helper 2025-03-05 07:38:55 -07:00
futex.h
io-wq.c Merge branch 'io_uring-6.14' into for-6.15/io_uring 2025-02-27 07:18:01 -07:00
io-wq.h
io_uring.c io_uring: fix 'sync' handling of io_fallback_tw() 2025-04-24 10:32:43 -06:00
io_uring.h io_uring: don't pass ctx to tw add remote helper 2025-03-28 17:14:01 -06:00
kbuf.c io_uring/kbuf: reject zero sized provided buffers 2025-04-07 07:51:23 -06:00
kbuf.h
memmap.c io_uring: add missing IORING_MAP_OFF_ZCRX_REGION in io_uring_mmap 2025-02-21 09:40:09 -07:00
memmap.h
msg_ring.c io_uring: don't pass ctx to tw add remote helper 2025-03-28 17:14:01 -06:00
msg_ring.h
napi.c net: use napi_id_valid helper 2025-02-17 16:43:04 -08:00
napi.h
net.c io_uring/net: avoid import_ubuf for regvec send 2025-03-31 12:41:49 -06:00
net.h io_uring/net: convert to struct iou_vec 2025-03-07 13:41:08 -07:00
nop.c io_uring/nop: use io_find_buf_node() 2025-02-28 19:35:37 -07:00
nop.h
notif.c
notif.h
opdef.c for-6.15/io_uring-epoll-wait-20250325 2025-03-28 14:55:32 -07:00
opdef.h io_uring: rearrange opdef flags by use pattern 2025-02-27 07:27:56 -07:00
openclose.c
openclose.h
poll.c io_uring: unify STOP_MULTISHOT with IOU_OK 2025-03-10 07:14:18 -06:00
poll.h
refs.h io_uring: always do atomic put from iowq 2025-04-03 08:31:57 -06:00
register.c
register.h
rsrc.c io_uring/rsrc: ensure segments counts are correct on kbuf buffers 2025-04-17 11:59:12 -06:00
rsrc.h for-6.15/io_uring-rx-zc-20250325 2025-03-28 13:45:52 -07:00
rw.c for-6.15/io_uring-reg-vec-20250327 2025-03-28 15:07:04 -07:00
rw.h io_uring/rw: implement vectored registered rw 2025-03-07 09:07:29 -07:00
slist.h
splice.c
splice.h
sqpoll.c
sqpoll.h
statx.c
statx.h
sync.c
sync.h
tctx.c
tctx.h
timeout.c for-6.15/io_uring-20250322 2025-03-26 17:56:00 -07:00
timeout.h
truncate.c
truncate.h
uring_cmd.c io_uring: cleanup {g,s]etsockopt sqe reading 2025-03-31 07:08:46 -06:00
uring_cmd.h io_uring: hide caches sqes from drivers 2025-03-31 07:08:34 -06:00
waitid.c io_uring/waitid: use io_is_compat() 2025-02-24 12:10:38 -07:00
waitid.h
xattr.c
xattr.h
zcrx.c io_uring/zcrx: fix late dma unmap for a dead dev 2025-04-18 06:12:10 -06:00
zcrx.h io_uring/zcrx: fix late dma unmap for a dead dev 2025-04-18 06:12:10 -06:00