linux/io_uring
Linus Torvalds 68ad2095ca io_uring-6.19-20260109
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmlhS1wQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgphGvD/9NR0RzWZdM0DwfbK4kyzfmQPCSs1kkqQF4
 LECsSc3B7OrJ/4yX27CiWNRlGdHWpmrOc8mtlAiUv+eArpoBmatjfn1UZACN0u/t
 CC0/ZXeYA6NQ8vnbnQZk+guHE7r9K66EFPFvMcEWmGGQ/CUBUKt1gkDkB1gD8qBp
 pdI/A+tZujCQA3XuyCE+qc5GJX+cFXqEx06GRDGQ+UnnAsJmSrtbUtZrEZsladMj
 16dclDfOX2X0bu9+P42rSkV2IrjwddNntDsLyF933uaayAJX9HbTTWxxw/mWr2Bt
 Be0Xh1+FniVAQFFM7qFQRqrWqecKrnh6RKg9lufWiuB4d5rq7eJT1xGb+IXX6xlr
 j/Lwbi8UkjpJmG1xnyWtk9oDQK4h+7p5MvCgCSqLrp1rY8nYT1CeCEzt1OJjeVWj
 cqm2hhkEUcioCz4gTHU8PBRxhfd4PRr/GBwZJ4jBFBeFTip1vy9kAn94Afrk/VLH
 HAreWZtsNsTDTF9cUSXyKDHYR9uGSi8NpZSEEV8dUaAKYpYBNSIutX5uqT9NBs8y
 3TJ0NrhlpVJIGwa5XtwKli62CXNsibQlNbnsd092+zvkiAAiYUiLNRaQnt3MGctk
 4eBp0sWTUkHxxKO3njUIDXZPB5g9jZvJxpjqK+V0CYzVdeimw2qs8fBQJvnYPtNw
 k3C0E2aJKQ==
 =ObKS
 -----END PGP SIGNATURE-----

Merge tag 'io_uring-6.19-20260109' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring fixes from Jens Axboe:
 "A single fix for a regression introduced in 6.15, where a failure to
  wake up idle io-wq workers at ring exit will wait for the timeout to
  expire.

  This isn't normally noticeable, as the exit is async.

  But if a parent task created a thread that sets up a ring and uses
  requests that cause io-wq threads to be created, and the parent task
  then waits for the thread to exit, then it can take 5 seconds for that
  pthread_join() to succeed as the child thread is waiting for its
  children to exit.

  On top of that, just a basic cleanup as well"

* tag 'io_uring-6.19-20260109' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
  io_uring/io-wq: remove io_wq_for_each_worker() return value
  io_uring/io-wq: fix incorrect io_wq_for_each_worker() termination logic
2026-01-09 15:21:15 -10:00
..
Kconfig
Makefile
advise.c
advise.h
alloc_cache.c
alloc_cache.h
cancel.c io_uring/tctx: add separate lock for list of tctx's in ctx 2026-01-01 08:16:40 -07:00
cancel.h io_uring/cancel: move cancelation code from io_uring.c to cancel.c 2025-11-04 09:32:09 -07:00
cmd_net.c for-6.19/io_uring-20251201 2025-12-03 18:58:57 -08:00
epoll.c
epoll.h
eventfd.c
eventfd.h
fdinfo.c Merge branch 'io_uring-6.18' into for-6.19/io_uring 2025-11-13 07:26:37 -07:00
fdinfo.h
filetable.c io_uring: correct __must_hold annotation in io_install_fixed_file 2025-10-23 07:25:07 -06:00
filetable.h
fs.c
fs.h
futex.c io_uring/futex: move futexv owned status to struct io_futexv_data 2025-11-05 12:55:07 -07:00
futex.h
io-wq.c io_uring/io-wq: remove io_wq_for_each_worker() return value 2026-01-05 15:39:20 -07:00
io-wq.h
io_uring.c io_uring/tctx: add separate lock for list of tctx's in ctx 2026-01-01 08:16:40 -07:00
io_uring.h io_uring: pre-calculate scq layout 2025-11-13 07:27:34 -07:00
kbuf.c io_uring/kbuf: use WRITE_ONCE() for userspace-shared buffer ring fields 2025-12-05 09:52:02 -07:00
kbuf.h io_uring/kbuf: remove obsolete buf_nr_pages and update comments 2025-11-20 13:23:05 -07:00
memmap.c io_uring-6.19-20260102 2026-01-02 12:07:55 -08:00
memmap.h io_uring: add helper calculating region byte size 2025-11-11 07:53:33 -07:00
mock_file.c io_uring: convert io_create_mock_file() to FD_PREPARE() 2025-11-28 12:42:36 +01:00
msg_ring.c io_uring: add wrapper type for io_req_tw_func_t arg 2025-11-03 08:31:26 -07:00
msg_ring.h
napi.c
napi.h
net.c for-6.19/io_uring-20251201 2025-12-03 18:58:57 -08:00
net.h
nop.c
nop.h
notif.c io_uring: fix typos and comment wording 2025-11-05 08:21:43 -07:00
notif.h
opdef.c io_uring: add support for IORING_SETUP_SQE_MIXED 2025-10-22 07:34:57 -06:00
opdef.h io_uring: add support for IORING_SETUP_SQE_MIXED 2025-10-22 07:34:57 -06:00
openclose.c io_uring: fix filename leak in __io_openat_prep() 2025-12-25 07:58:33 -07:00
openclose.h
poll.c io_uring/poll: unify poll waitqueue entry and list removal 2025-12-05 10:23:28 -07:00
poll.h io_uring: add wrapper type for io_req_tw_func_t arg 2025-11-03 08:31:26 -07:00
query.c io_uring/query: drop unused io_handle_query_entry() ctx arg 2025-11-26 09:37:10 -07:00
query.h io_uring/query: drop unused io_handle_query_entry() ctx arg 2025-11-26 09:37:10 -07:00
refs.h
register.c io_uring/tctx: add separate lock for list of tctx's in ctx 2026-01-01 08:16:40 -07:00
register.h
rsrc.c io_uring: fix nr_segs calculation in io_import_kbuf 2025-12-17 07:35:42 -07:00
rsrc.h io_uring/rsrc: refactor io_{un}account_mem() to take {user,mm}_struct param 2025-11-06 16:23:21 -07:00
rw.c block: enable per-cpu bio cache by default 2025-12-04 07:19:24 -07:00
rw.h io_uring: add wrapper type for io_req_tw_func_t arg 2025-11-03 08:31:26 -07:00
slist.h io_uring/slist: remove unused wq list splice helpers 2025-11-03 10:51:39 -07:00
splice.c
splice.h
sqpoll.c Merge branch 'io_uring-6.18' into for-6.19/io_uring 2025-11-13 07:26:37 -07:00
sqpoll.h io_uring/sqpoll: switch away from getrusage() for CPU accounting 2025-10-22 10:51:20 -06:00
statx.c
statx.h
sync.c
sync.h
tctx.c io_uring/tctx: add separate lock for list of tctx's in ctx 2026-01-01 08:16:40 -07:00
tctx.h
timeout.c io_uring: add wrapper type for io_req_tw_func_t arg 2025-11-03 08:31:26 -07:00
timeout.h
truncate.c
truncate.h
uring_cmd.c io_uring/uring_cmd: avoid double indirect call in task work dispatch 2025-11-03 08:31:26 -07:00
uring_cmd.h
waitid.c Merge branch 'io_uring-6.18' into for-6.19/io_uring 2025-11-13 07:26:37 -07:00
waitid.h
xattr.c
xattr.h
zcrx.c io_uring/zcrx: share an ifq between rings 2025-11-13 11:19:37 -07:00
zcrx.h io_uring/zcrx: count zcrx users 2025-11-13 11:19:37 -07:00