Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from torvalds:master #88

Merged
merged 7 commits into from
Jul 2, 2020
Merged

Commits on Jun 29, 2020

  1. blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags

    Else there may be magic numbers in /sys/kernel/debug/block/*/state.
    
    Signed-off-by: Hou Tao <houtao1@huawei.com>
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Hou Tao authored and axboe committed Jun 29, 2020
    Configuration menu
    Copy the full SHA
    bfe373f View commit details
    Browse the repository at this point in the history
  2. block/keyslot-manager: use kvfree_sensitive()

    Make blk_ksm_destroy() use the kvfree_sensitive() function (which was
    introduced in v5.8-rc1) instead of open-coding it.
    
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    ebiggers authored and axboe committed Jun 29, 2020
    Configuration menu
    Copy the full SHA
    3e20aa9 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2020

  1. task_work: teach task_work_add() to do signal_wake_up()

    So that the target task will exit the wait_event_interruptible-like
    loop and call task_work_run() asap.
    
    The patch turns "bool notify" into 0,TWA_RESUME,TWA_SIGNAL enum, the
    new TWA_SIGNAL flag implies signal_wake_up().  However, it needs to
    avoid the race with recalc_sigpending(), so the patch also adds the
    new JOBCTL_TASK_WORK bit included in JOBCTL_PENDING_MASK.
    
    TODO: once this patch is merged we need to change all current users
    of task_work_add(notify = true) to use TWA_RESUME.
    
    Cc: stable@vger.kernel.org # v5.7
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    oleg-nesterov authored and axboe committed Jun 30, 2020
    Configuration menu
    Copy the full SHA
    e91b481 View commit details
    Browse the repository at this point in the history
  2. io_uring: use signal based task_work running

    Since 5.7, we've been using task_work to trigger async running of
    requests in the context of the original task. This generally works
    great, but there's a case where if the task is currently blocked
    in the kernel waiting on a condition to become true, it won't process
    task_work. Even though the task is woken, it just checks whatever
    condition it's waiting on, and goes back to sleep if it's still false.
    
    This is a problem if that very condition only becomes true when that
    task_work is run. An example of that is the task registering an eventfd
    with io_uring, and it's now blocked waiting on an eventfd read. That
    read could depend on a completion event, and that completion event
    won't get trigged until task_work has been run.
    
    Use the TWA_SIGNAL notification for task_work, so that we ensure that
    the task always runs the work when queued.
    
    Cc: stable@vger.kernel.org # v5.7
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    axboe committed Jun 30, 2020
    Configuration menu
    Copy the full SHA
    ce593a6 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2020

  1. virtio-blk: free vblk-vqs in error path of virtblk_probe()

    Else there will be memory leak if alloc_disk() fails.
    
    Fixes: 6a27b65 ("block: virtio-blk: support multi virt queues per virtio-blk device")
    Signed-off-by: Hou Tao <houtao1@huawei.com>
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    Reviewed-by: Ming Lei <ming.lei@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Hou Tao authored and axboe committed Jul 1, 2020
    Configuration menu
    Copy the full SHA
    e7eea44 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2020

  1. 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()
    torvalds committed Jul 2, 2020
    Configuration menu
    Copy the full SHA
    c93493b View commit details
    Browse the repository at this point in the history
  2. Merge tag 'block-5.8-2020-07-01' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
    
     - Use kvfree_sensitive() for the block keyslot free (Eric)
    
     - Sync blk-mq debugfs flags (Hou)
    
     - Memory leak fix in virtio-blk error path (Hou)
    
    * tag 'block-5.8-2020-07-01' of git://git.kernel.dk/linux-block:
      virtio-blk: free vblk-vqs in error path of virtblk_probe()
      block/keyslot-manager: use kvfree_sensitive()
      blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags
    torvalds committed Jul 2, 2020
    Configuration menu
    Copy the full SHA
    7cc2a8e View commit details
    Browse the repository at this point in the history