Merge tag 'io_uring-5.8-2020-07-01' of git://git.kernel.dk/linux-block
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Jul 2020 21:56:22 +0000 (14:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Jul 2020 21:56:22 +0000 (14:56 -0700)
commitc93493b7cd40c20708e3373a7cc8e8049460d7ce
tree72e472420baacf2168d484bbeaf521423115c049
parentcd77006e01b3198c75fb7819b3d0ff89709539bb
parentce593a6c480a22acba08795be313c0c6d49dd35d
Merge tag 'io_uring-5.8-2020-07-01' of git://git.kernel.dk/linux-block

Pull io_uring fixes from Jens Axboe:
 "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. And 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"

* tag 'io_uring-5.8-2020-07-01' of git://git.kernel.dk/linux-block:
  io_uring: use signal based task_work running
  task_work: teach task_work_add() to do signal_wake_up()