1. 18 May, 2022 3 commits
    • Jens Axboe's avatar
      io_uring: add io_pin_pages() helper · d8c2237d
      Jens Axboe authored
      Abstract this out from io_sqe_buffer_register() so we can use it
      elsewhere too without duplicating this code.
      
      No intended functional changes in this patch.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d8c2237d
    • Jens Axboe's avatar
      io_uring: add buffer selection support to IORING_OP_NOP · 3d200242
      Jens Axboe authored
      Obviously not really useful since it's not transferring data, but it
      is helpful in benchmarking overhead of provided buffers.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      3d200242
    • Jens Axboe's avatar
      io_uring: fix locking state for empty buffer group · e7637a49
      Jens Axboe authored
      io_provided_buffer_select() must drop the submit lock, if needed, even
      in the error handling case. Failure to do so will leave us with the
      ctx->uring_lock held, causing spew like:
      
      ====================================
      WARNING: iou-wrk-366/368 still has locks held!
      5.18.0-rc6-00294-gdf8dc7004331 #994 Not tainted
      ------------------------------------
      1 lock held by iou-wrk-366/368:
       #0: ffff0000c72598a8 (&ctx->uring_lock){+.+.}-{3:3}, at: io_ring_submit_lock+0x20/0x48
      
      stack backtrace:
      CPU: 4 PID: 368 Comm: iou-wrk-366 Not tainted 5.18.0-rc6-00294-gdf8dc7004331 #994
      Hardware name: linux,dummy-virt (DT)
      Call trace:
       dump_backtrace.part.0+0xa4/0xd4
       show_stack+0x14/0x5c
       dump_stack_lvl+0x88/0xb0
       dump_stack+0x14/0x2c
       debug_check_no_locks_held+0x84/0x90
       try_to_freeze.isra.0+0x18/0x44
       get_signal+0x94/0x6ec
       io_wqe_worker+0x1d8/0x2b4
       ret_from_fork+0x10/0x20
      
      and triggering later hangs off get_signal() because we attempt to
      re-grab the lock.
      
      Reported-by: syzbot+987d7bb19195ae45208c@syzkaller.appspotmail.com
      Fixes: 149c69b0 ("io_uring: abstract out provided buffer list selection")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e7637a49
  2. 14 May, 2022 4 commits
  3. 13 May, 2022 8 commits
  4. 09 May, 2022 11 commits
  5. 05 May, 2022 4 commits
  6. 30 Apr, 2022 7 commits
  7. 25 Apr, 2022 3 commits