ublk: fix deadlock when reading partition table#753
Open
blktests-ci[bot] wants to merge 24 commits intofor-next_basefrom
Open
ublk: fix deadlock when reading partition table#753blktests-ci[bot] wants to merge 24 commits intofor-next_basefrom
blktests-ci[bot] wants to merge 24 commits intofor-next_basefrom
Conversation
* io_uring-7.0: io_uring/bpf_filters: retain COW'ed settings on parse failures io_uring: protect remaining lockless ctx->rings accesses with RCU io_uring/rsrc: reject zero-length fixed buffer import io_uring/net: fix slab-out-of-bounds read in io_bundle_nbufs()
* for-7.1/io_uring: (54 commits) io_uring/timeout: use 'ctx' consistently io_uring/rw: clean up __io_read() obsolete comment and early returns io_uring/zcrx: use correct mmap off constants io_uring/zcrx: use dma_len for chunk size calculation io_uring/zcrx: don't clear not allocated niovs io_uring/zcrx: don't use mark0 for allocating xarray io_uring: cast id to u64 before shifting in io_allocate_rbuf_ring() io_uring/zcrx: reject REG_NODEV with large rx_buf_size io_uring/cancel: validate opcode for IORING_ASYNC_CANCEL_OP io_uring/rsrc: use io_cache_free() to free node io_uring/zcrx: rename zcrx [un]register functions io_uring/zcrx: check ctrl op payload struct sizes io_uring/zcrx: cache fallback availability in zcrx ctx io_uring/zcrx: warn on a repeated area append io_uring/zcrx: consolidate dma syncing io_uring/zcrx: netmem array as refiling format io_uring/zcrx: warn on alloc with non-empty pp cache io_uring/zcrx: move count check into zcrx_get_free_niov io_uring/zcrx: use guards for locking io_uring/zcrx: add a struct for refill queue ...
* for-7.1/block: (111 commits) bcache: fix cached_dev.sb_bio use-after-free and crash block: use sysfs_emit in sysfs show functions blk-crypto: fix name of the bio completion callback bio: fix kmemleak false positives from percpu bio alloc cache blk-iocost: fix busy_level reset when no IOs complete blk-cgroup: fix disk reference leak in blkcg_maybe_throttle_current() zloop: add max_open_zones option block: fix zones_cond memory leak on zone revalidation error paths loop: fix partition scan race between udev and loop_reread_partitions() sed-opal: Add STACK_RESET command nvme-loop: do not cancel I/O and admin tagset during ctrl reset/shutdown nvme: add WQ_PERCPU to alloc_workqueue users nvmet-fc: add WQ_PERCPU to alloc_workqueue users nvmet: replace use of system_wq with system_percpu_wq nvme-auth: Don't propose NVME_AUTH_DHGROUP_NULL with SC_C nvme: Add the DHCHAP maximum HD IDs nvme-pci: add NVME_QUIRK_DISABLE_WRITE_ZEROES for Kingston OM3SGP4 nvme: respect NVME_QUIRK_DISABLE_WRITE_ZEROES when wzsl is set nvmet: report NPDGL and NPDAL nvmet: use NVME_NS_FEAT_OPTPERF_SHIFT ...
* for-7.1/block: bcache: fix uninitialized closure object
Merge in io_uring changes slated for 7.1 to avoid conflicts with the fuse io_uring prep patches, as they end up touching both ublk and overlap with io_uring core changes. * for-7.1/io_uring: (60 commits) io_uring/timeout: use 'ctx' consistently io_uring/rw: clean up __io_read() obsolete comment and early returns io_uring/zcrx: use correct mmap off constants io_uring/zcrx: use dma_len for chunk size calculation io_uring/zcrx: don't clear not allocated niovs io_uring/zcrx: don't use mark0 for allocating xarray io_uring: cast id to u64 before shifting in io_allocate_rbuf_ring() io_uring/zcrx: reject REG_NODEV with large rx_buf_size io_uring/cancel: validate opcode for IORING_ASYNC_CANCEL_OP io_uring/rsrc: use io_cache_free() to free node io_uring/zcrx: rename zcrx [un]register functions io_uring/zcrx: check ctrl op payload struct sizes io_uring/zcrx: cache fallback availability in zcrx ctx io_uring/zcrx: warn on a repeated area append io_uring/zcrx: consolidate dma syncing io_uring/zcrx: netmem array as refiling format io_uring/zcrx: warn on alloc with non-empty pp cache io_uring/zcrx: move count check into zcrx_get_free_niov io_uring/zcrx: use guards for locking io_uring/zcrx: add a struct for refill queue ...
…bvec() Currently, io_buffer_register_bvec() takes in a request. In preparation for supporting kernel-populated buffers in fuse io-uring (which will need to register bvecs directly, not through a struct request), rename this to io_buffer_register_request(). A subsequent patch will commandeer the "io_buffer_register_bvec()" function name to support registering bvecs directly. Rename io_buffer_unregister_bvec() to a more generic name, io_buffer_unregister(), as both io_buffer_register_request() and io_buffer_register_bvec() callers will use it for unregistration. Signed-off-by: Joanne Koong <[email protected]> Reviewed-by: Caleb Sander Mateos <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jens Axboe <[email protected]>
Split the main initialization logic in io_buffer_register_request() into a helper function. This is a preparatory patch for supporting kernel-populated buffers in fuse io-uring, which will be reusing this logic. Signed-off-by: Joanne Koong <[email protected]> Reviewed-by: Caleb Sander Mateos <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jens Axboe <[email protected]>
Add io_buffer_register_bvec() for registering a bvec array. This is a preparatory patch for fuse-over-io-uring zero-copy. Signed-off-by: Joanne Koong <[email protected]> Reviewed-by: Caleb Sander Mateos <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jens Axboe <[email protected]>
Rename IO_IMU_DEST and IO_IMU_SOURCE to IO_BUF_DEST and IO_BUF_SOURCE and export it so subsystems may use it. This is needed by the io_buffer_register_bvec() path for callers who may need the buffer to be both readable and writable. Signed-off-by: Joanne Koong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jens Axboe <[email protected]>
* for-7.1/io_uring-fuse: io_uring/rsrc: rename and export IO_IMU_DEST / IO_IMU_SOURCE io_uring/rsrc: add io_buffer_register_bvec() io_uring/rsrc: split io_buffer_register_request() logic io_uring/rsrc: rename io_buffer_register_bvec()/io_buffer_unregister_bvec()
* for-7.1/block: block: remove unused BVEC_ITER_ALL_INIT
* for-7.1/block: selftests: ublk: test that teardown after incomplete recovery completes ublk: reset per-IO canceled flag on each fetch
* for-7.1/block: blk-wbt: remove WARN_ON_ONCE from wbt_init_enable_default()
* for-7.1/block: drbd: remove DRBD_GENLA_F_MANDATORY flag handling
* for-7.1/block: drbd: use get_random_u64() where appropriate
* for-7.1/block: selftests/ublk: add read-only buffer registration test selftests/ublk: add filesystem fio verify test for shmem_zc selftests/ublk: add hugetlbfs shmem_zc test for loop target selftests/ublk: add shared memory zero-copy test selftests/ublk: add UBLK_F_SHMEM_ZC support for loop target selftests/ublk: add shared memory zero-copy support in kublk ublk: eliminate permanent pages[] array from struct ublk_buf ublk: enable UBLK_F_SHMEM_ZC feature flag ublk: add PFN-based buffer matching in I/O path ublk: add UBLK_U_CMD_REG_BUF/UNREG_BUF control commands
* for-7.1/block: xfs: use bio_await in xfs_zone_gc_reset_sync block: add a bio_submit_or_kill helper block: factor out a bio_await helper block: unify the synchronous bi_end_io callbacks xfs: fix number of GC bvecs
* for-7.1/block: md/raid5: fix soft lockup in retry_aligned_read() md: wake raid456 reshape waiters before suspend md/raid1: serialize overlap io for writemostly disk md/md-llbitmap: optimize initial sync with write_zeroes_unmap support md/md-llbitmap: add CleanUnwritten state for RAID-5 proactive parity building md: add fallback to correct bitmap_ops on version mismatch md/raid5: validate payload size before accessing journal metadata md: remove unused static md_wq workqueue md/raid0: use kvzalloc/kvfree for strip_zone and devlist allocations md: fix array_state=clear sysfs deadlock
* for-7.1/io_uring: io_uring: unify getting ctx from passed in file descriptor io_uring/register: don't get a reference to the registered ring fd io_uring/tctx: clean up __io_uring_add_tctx_node() error handling io_uring/tctx: have io_uring_alloc_task_context() return tctx
* for-7.1/block: MAINTAINERS: update ublk driver maintainer email Documentation: ublk: address review comments for SHMEM_ZC docs ublk: allow buffer registration before device is started ublk: replace xarray with IDA for shmem buffer index allocation ublk: simplify PFN range loop in __ublk_ctrl_reg_buf ublk: verify all pages in multi-page bvec fall within registered range ublk: widen ublk_shmem_buf_reg.len to __u64 for 4GB buffer support
* for-7.1/block: block: refactor blkdev_zone_mgmt_ioctl
* for-7.1/block: scsi: bsg: fix buffer overflow in scsi_bsg_uring_cmd()
* for-7.1/block: ublk: fix tautological comparison warning in ublk_ctrl_reg_buf
Author
|
Upstream branch: 88a57e1 Pull request is NOT updated. Failed to apply https://patchwork.kernel.org/project/linux-block/list/?series=1083293 conflict: |
65b781e to
2fc75f9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request for series with
subject: ublk: fix deadlock when reading partition table
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1083293