Skip to contentSkip to conversation

io_uring fixes for 5.8-rc4

GIT PULL Merged Jens Axboe 2 participants 2 messages Jul 2, 2020 io_uring

lore
Share & tools
lore

Jens Axboe

author maintainer
#0 lore raw

Hi Linus,

One fix in here, for a regression in 5.7 where a task is waiting in the kernel for a condition, but that condition won't become true until task_work is run. The task_work can't be run exactly because the task is waiting in the kernel, so we'll never make any progress. One example of that is registering an eventfd and queueing io_uring work, and then the task goes and waits in eventfd read with the expectation that it'll get woken (and read an event) when the io_uring request completes. The io_uring request is finished through task_work, which won't get run while the task is looping in eventfd read.

Please pull!

The following changes since commit d60b5fbc1ce8210759b568da49d149b868e7c6d3:

io_uring: fix current->mm NULL dereference on exit (2020-06-25 07:20:43 -0600)

are available in the Git repository at:

git://git.kernel.dk/linux-block.git tags/io_uring-5.8-2020-07-01

for you to fetch changes up to ce593a6c480a22acba08795be313c0c6d49dd35d:

io_uring: use signal based task_work running (2020-06-30 12:39:05 -0600)

----------------------------------------------------------------
io_uring-5.8-2020-07-01

----------------------------------------------------------------
Jens Axboe (1):
io_uring: use signal based task_work running

Oleg Nesterov (1):
task_work: teach task_work_add() to do signal_wake_up()

 fs/io_uring.c                | 32 ++++++++++++++++++++++++--------
 include/linux/sched/jobctl.h |  4 +++-
 include/linux/task_work.h    |  5 ++++-
 kernel/signal.c              | 10 +++++++---
 kernel/task_work.c           | 16 ++++++++++++++--
 5 files changed, 52 insertions(+), 15 deletions(-)
Signature · 1 line
Jens Axboe