[GIT PULL] io_uring fixes for 5.12-rc3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Not quite as small this week as I had hoped, but at least this should be
the end of it. All the little known issues have been ironed out - most
of it little stuff, but cancelations being the bigger part. Only minor
tweaks and/or regular fixes expected beyond this point.

- Fix the creds tracking for async (io-wq and SQPOLL)

- Various SQPOLL fixes related to parking, sharing, forking, IOPOLL,
  completions, and life times. Much simpler now.

- Make IO threads unfreezable by default, on account of a bug report
  that had them spinning on resume. Honestly not quite sure why thawing
  leaves us with a perpetual signal pending (causing the spin), but for
  now make them unfreezable like there were in 5.11 and prior.

- Move personality_idr to xarray, solving a use-after-free related to
  removing an entry from the iterator callback. Buffer idr needs the
  same treatment.

- Re-org around and task vs context tracking, enabling the fixing of
  cancelations, and then cancelation fixes on top.

- Various little bits of cleanups and hardening, and removal of now dead
  parts.

Please pull!


The following changes since commit a38fd8748464831584a19438cbb3082b5a2dab15:

  Linux 5.12-rc2 (2021-03-05 17:33:41 -0800)

are available in the Git repository at:

  git://git.kernel.dk/linux-block.git tags/io_uring-5.12-2021-03-12

for you to fetch changes up to 58f99373834151e1ca7edc49bc5578d9d40db099:

  io_uring: fix OP_ASYNC_CANCEL across tasks (2021-03-12 09:42:56 -0700)

----------------------------------------------------------------
io_uring-5.12-2021-03-12

----------------------------------------------------------------
Jens Axboe (9):
      io-wq: fix race in freeing 'wq' and worker access
      io-wq: always track creds for async issue
      io_uring: SQPOLL parking fixes
      io-wq: remove unused 'user' member of io_wq
      io_uring: move all io_kiocb init early in io_init_req()
      io_uring: always wait for sqd exited when stopping SQPOLL thread
      kernel: make IO threads unfreezable by default
      io_uring: force creation of separate context for ATTACH_WQ and non-threads
      io_uring: perform IOPOLL reaping if canceler is thread itself

Matthew Wilcox (Oracle) (1):
      io_uring: Convert personality_idr to XArray

Pavel Begunkov (20):
      io_uring: make del_task_file more forgiving
      io_uring: introduce ctx to tctx back map
      io_uring: do ctx initiated file note removal
      io_uring: don't take task ring-file notes
      io_uring: index io_uring->xa by ctx not file
      io_uring: warn when ring exit takes too long
      io_uring: cancel reqs of all iowq's on ring exit
      io-wq: warn on creating manager while exiting
      io_uring: fix unrelated ctx reqs cancellation
      io_uring: clean R_DISABLED startup mess
      io_uring: fix io_sq_offload_create error handling
      io_uring: add io_disarm_next() helper
      io_uring: fix complete_post races for linked req
      io_uring: fix invalid ctx->sq_thread_idle
      io_uring: remove indirect ctx into sqo injection
      io_uring: cancel deferred requests in try_cancel
      io_uring: remove useless ->startup completion
      io_uring: prevent racy sqd->thread checks
      io_uring: cancel sqpoll via task_work
      io_uring: fix OP_ASYNC_CANCEL across tasks

Stefan Metzmacher (2):
      io_uring: run __io_sq_thread() with the initial creds from io_uring_setup()
      io_uring: kill io_sq_thread_fork() and return -EOWNERDEAD if the sq_thread is gone

Yang Li (1):
      io_uring: remove unneeded variable 'ret'

yangerkun (1):
      io-wq: fix ref leak for req in case of exit cancelations

 fs/io-wq.c               |  25 +-
 fs/io-wq.h               |   2 +-
 fs/io_uring.c            | 837 ++++++++++++++++++++++++++---------------------
 include/linux/io_uring.h |   2 +-
 kernel/fork.c            |   1 +
 5 files changed, 470 insertions(+), 397 deletions(-)

-- 
Jens Axboe




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux