[PATCH 0/7] ublk: followup fixes for SHMEM_ZC

Ming Lei
2026-04-09T13:30:36Z

Hello Jens,

Followup fixes for the SHMEM_ZC (shared memory zero copy) patch series,
addressing review feedback from Caleb Sander Mateos.

- Widen ublk_shmem_buf_reg.len to __u64 so 4GB buffers can be registered
(the __u32 field overflowed to 0 for exactly 4GB)
- Verify all pages in multi-page bvecs fall within the registered maple
tree range, removing base_pfn from ublk_buf_range since mas.index
provides the range start PFN
- Simplify the PFN range coalescing loop in __ublk_ctrl_reg_buf
- Replace xarray with IDA for buffer index allocation, removing the
unnecessary struct ublk_buf
- Allow buffer registration before device is started by taking ub->mutex
before freezing the queue (same ordering as ublk_stop_dev_unlocked)
- Address documentation review comments
- Update MAINTAINERS email

Thanks,

Ming Lei (7):
ublk: widen ublk_shmem_buf_reg.len to __u64 for 4GB buffer support
ublk: verify all pages in multi-page bvec fall within registered range
ublk: simplify PFN range loop in __ublk_ctrl_reg_buf
ublk: replace xarray with IDA for shmem buffer index allocation
ublk: allow buffer registration before device is started
Documentation: ublk: address review comments for SHMEM_ZC docs
MAINTAINERS: update ublk driver maintainer email

Documentation/block/ublk.rst | 10 +-
MAINTAINERS | 2 +-
drivers/block/ublk_drv.c | 201 ++++++++++++++++------------------
include/uapi/linux/ublk_cmd.h | 3 +-
4 files changed, 101 insertions(+), 115 deletions(-)

--
2.53.0