APPLIED/Cmnt: [SRU Mantic] Update io_uring to 6.6

Stefan Bader stefan.bader at canonical.com
Fri Dec 1 10:55:22 UTC 2023


On 16.11.23 22:05, Thadeu Lima de Souza Cascardo wrote:
> [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(-)
> 
Skipped since this was already applied as part of upstream stable v6.5.5.
-  "io_uring: annotate the struct io_kiocb slab for appropriate user copy"
- "io_uring/net: fix iter retargeting for selected buf"
Skipped because this is already applied as part of upstream stable v6.5.6.
- "io_uring/fs: remove sqe->rw_flags checking from LINKAT"

Applied to mantic:linux/master-next. Thanks.

-Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 44613 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20231201/42130ff7/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20231201/42130ff7/attachment-0001.sig>


More information about the kernel-team mailing list