1. 24 3月, 2020 30 次提交
  2. 22 3月, 2020 1 次提交
  3. 21 3月, 2020 1 次提交
  4. 20 3月, 2020 2 次提交
  5. 19 3月, 2020 1 次提交
  6. 18 3月, 2020 3 次提交
  7. 15 3月, 2020 1 次提交
    • P
      io_uring: NULL-deref for IOSQE_{ASYNC,DRAIN} · f1d96a8f
      Pavel Begunkov 提交于
      Processing links, io_submit_sqe() prepares requests, drops sqes, and
      passes them with sqe=NULL to io_queue_sqe(). There IOSQE_DRAIN and/or
      IOSQE_ASYNC requests will go through the same prep, which doesn't expect
      sqe=NULL and fail with NULL pointer deference.
      
      Always do full prepare including io_alloc_async_ctx() for linked
      requests, and then it can skip the second preparation.
      
      Cc: stable@vger.kernel.org # 5.5
      Signed-off-by: NPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      f1d96a8f
  8. 14 3月, 2020 1 次提交
    • F
      btrfs: fix log context list corruption after rename whiteout error · 236ebc20
      Filipe Manana 提交于
      During a rename whiteout, if btrfs_whiteout_for_rename() returns an error
      we can end up returning from btrfs_rename() with the log context object
      still in the root's log context list - this happens if 'sync_log' was
      set to true before we called btrfs_whiteout_for_rename() and it is
      dangerous because we end up with a corrupt linked list (root->log_ctxs)
      as the log context object was allocated on the stack.
      
      After btrfs_rename() returns, any task that is running btrfs_sync_log()
      concurrently can end up crashing because that linked list is traversed by
      btrfs_sync_log() (through btrfs_remove_all_log_ctxs()). That results in
      the same issue that commit e6c61710 ("Btrfs: fix log context list
      corruption after rename exchange operation") fixed.
      
      Fixes: d4682ba0 ("Btrfs: sync log after logging new name")
      CC: stable@vger.kernel.org # 4.19+
      Signed-off-by: NFilipe Manana <fdmanana@suse.com>
      Signed-off-by: NDavid Sterba <dsterba@suse.com>
      236ebc20