[SRU Mantic] Update io_uring to 6.6

Thadeu Lima de Souza Cascardo cascardo at canonical.com
Thu Nov 16 21:05:31 UTC 2023


[Impact]
io_uring is a fast-developed subsystem in the Linux kernel. In order to keep up
with the latest changes such that applying further fixes are possible, it
should be updated to a more recent version.

[Test case]
Given the general update, there are no specific test cases.

[Potential regression]
io_uring users only would be affected given most changes are restricted to it.


The following changes since commit 8f48b50cf7bcbcbfa6a5eebc7a677bdcbd6a3aee:

  UBUNTU: Ubuntu-6.5.0-14.14 (2023-11-14 14:46:30 +0100)

are available in the Git repository at:

  https://git.launchpad.net/~cascardo/ubuntu/+source/linux/+git/mantic io_uring_backport

for you to fetch changes up to 208fd9c171e3295a41ca69f79e92fa2b10f18194:

  io_uring: kiocb_done() should *not* trust ->ki_pos if ->{read,write}_iter() failed (2023-11-16 18:00:59 -0300)

----------------------------------------------------------------
Al Viro (1):
      io_uring: kiocb_done() should *not* trust ->ki_pos if ->{read,write}_iter() failed

Amir Goldstein (3):
      fs: create kiocb_{start,end}_write() helpers
      io_uring: rename kiocb_end_write() local helper
      io_uring: use kiocb_{start,end}_write() helpers

Breno Leitao (1):
      io_uring: Add io_uring command support for sockets

Jeff Moyer (1):
      io-wq: fully initialize wqe before calling cpuhp_state_add_instance_nocalls()

Jens Axboe (28):
      fs: add IOCB flags related to passing back dio completions
      io_uring/poll: always set 'ctx' in io_cancel_data
      io_uring/timeout: always set 'ctx' in io_cancel_data
      io_uring/cancel: abstract out request match helper
      io_uring/cancel: fix sequence matching for IORING_ASYNC_CANCEL_ANY
      io_uring: use cancelation match helper for poll and timeout requests
      io_uring/cancel: add IORING_ASYNC_CANCEL_USERDATA
      io_uring/cancel: support opcode based lookup and cancelation
      io_uring/cancel: wire up IORING_ASYNC_CANCEL_OP for sync cancel
      io_uring/rw: add write support for IOCB_DIO_CALLER_COMP
      io_uring: annotate the struct io_kiocb slab for appropriate user copy
      io_uring: cleanup 'ret' handling in io_iopoll_check()
      io_uring/fdinfo: get rid of ref tryget
      io_uring/splice: use fput() directly
      io_uring: have io_file_put() take an io_kiocb rather than the file
      io_uring: remove unnecessary forward declaration
      io_uring/io-wq: don't grab wq->lock for worker activation
      io_uring/io-wq: reduce frequency of acct->lock acquisitions
      io_uring/io-wq: don't gate worker wake up success on wake_up_process()
      io_uring/fdinfo: only print ->sq_array[] if it's there
      Revert "io_uring: fix IO hang in io_wq_put_and_exit from do_exit()"
      io_uring/fs: remove sqe->rw_flags checking from LINKAT
      io_uring/kbuf: don't allow registered buffer rings on highmem pages
      io_uring: ensure io_lockdep_assert_cq_locked() handles disabled rings
      io_uring: don't allow IORING_SETUP_NO_MMAP rings on highmem pages
      io_uring: fix crash with IORING_SETUP_NO_MMAP and invalid SQ ring address
      io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
      io_uring/rw: disable IOCB_DIO_CALLER_COMP

Kees Cook (1):
      io_uring/rsrc: Annotate struct io_mapped_ubuf with __counted_by

Matthew Wilcox (Oracle) (1):
      io_uring: stop calling free_compound_page()

Ming Lei (1):
      io_uring: fix IO hang in io_wq_put_and_exit from do_exit()

Pavel Begunkov (22):
      io_uring: open code io_fill_cqe_req()
      io_uring: remove return from io_req_cqe_overflow()
      io_uring: never overflow io_aux_cqe
      io_uring/rsrc: keep one global dummy_ubuf
      io_uring: simplify io_run_task_work_sig return
      io_uring: improve cqe !tracing hot path
      io_uring: cqe init hardening
      io_uring: simplify big_cqe handling
      io_uring: refactor __io_get_cqe()
      io_uring: optimise extra io_get_cqe null check
      io_uring: reorder cqring_flush and wakeups
      io_uring: merge iopoll and normal completion paths
      io_uring: force inline io_fill_cqe_req
      io_uring: compact SQ/CQ heads/tails
      io_uring: add option to remove SQ indirection
      io_uring: move non aligned field to the end
      io_uring: banish non-hot data to end of io_ring_ctx
      io_uring: separate task_work/waiting cache line
      io_uring: move multishot cqe cache in ctx
      io_uring: move iopoll ctx fields around
      io_uring: fix unprotected iopoll overflow
      io_uring/net: fix iter retargeting for selected buf

Yue Haibing (1):
      io_uring/rsrc: Remove unused declaration io_rsrc_put_tw()

 include/linux/fs.h             |  71 ++++++++++++-
 include/linux/io_uring.h       |   6 ++
 include/linux/io_uring_types.h | 129 +++++++++++------------
 include/uapi/linux/io_uring.h  |  21 +++-
 io_uring/cancel.c              |  60 ++++++++---
 io_uring/cancel.h              |   3 +-
 io_uring/fdinfo.c              |  38 +++----
 io_uring/fs.c                  |   2 +-
 io_uring/io-wq.c               |  71 ++++++++-----
 io_uring/io_uring.c            | 229 +++++++++++++++++++++++------------------
 io_uring/io_uring.h            | 119 ++++++++++-----------
 io_uring/kbuf.c                |  33 +++---
 io_uring/net.c                 |  13 ++-
 io_uring/poll.c                |  21 ++--
 io_uring/rsrc.c                |  14 ++-
 io_uring/rsrc.h                |   3 +-
 io_uring/rw.c                  |  77 ++++++--------
 io_uring/splice.c              |   4 +-
 io_uring/timeout.c             |  20 ++--
 io_uring/uring_cmd.c           |  33 +++++-
 net/socket.c                   |   2 +
 21 files changed, 578 insertions(+), 391 deletions(-)



More information about the kernel-team mailing list