[GIT PULL] Please pull RDMA subsystem changes

From: Jason Gunthorpe

Date: Thu Feb 12 2026 - 19:34:31 EST


Hi Linus,

Fairly normal pull request. The NFS biovec work to push it down into
RDMA instead of indirecting through a scatterlist is pretty nice to
see, been talked about for a long time now.

There is a small conflict with v6.19:

@@@ -55,11 -54,6 +54,10 @@@ int mana_ib_create_cq(struct ib_cq *ibc
ibucontext);
doorbell = mana_ucontext->doorbell;
} else {
- is_rnic_cq = true;
+ if (attr->cqe > U32_MAX / COMP_ENTRY_SIZE / 2 + 1) {
+ ibdev_dbg(ibdev, "CQE %d exceeding limit\n", attr->cqe);
+ return -EINVAL;
+ }
buf_size = MANA_PAGE_ALIGN(roundup_pow_of_two(attr->cqe * COMP_ENTRY_SIZE));
cq->cqe = buf_size / COMP_ENTRY_SIZE;
err = mana_ib_create_kernel_queue(mdev, buf_size, GDMA_CQ, &cq->queue);


https://lore.kernel.org/r/aW5bFiqwjxpet-Tj@xxxxxxxxxxxxx

Thanks,
Jason

The following changes since commit fcf463b92a08686d1aeb1e66674a72eb7a8bfb9b:

types: move phys_vec definition to common header (2026-01-06 05:47:54 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

for you to fetch changes up to d6c58f4eb3d00a695f5a610ea780cad322ec714e:

RDMA/mlx5: Implement DMABUF export ops (2026-02-08 23:50:41 -0500)

----------------------------------------------------------------
RDMA v7.0 merge window

Usual smallish cycle:

- Various code improvements in irdma, rtrs, qedr, ocrdma, irdma, rxe

- Small driver improvements and minor bug fixes to hns, mlx5, rxe, mana,
mlx5, irdma

- Robusness improvements in completion processing for EFA

- New query_port_speed() verb to move past limited IBA defined speed steps

- Support for SG_GAPS in rts and many other small improvements

- Rare list corruption fix in iwcm

- Better support different page sizes in rxe

- Device memory support for mana

- Direct bio vec to kernel MR for use by NFS-RDMA

- QP rate limiting for bnxt_re

- Remote triggerable NULL pointer crash in siw

- DMA-buf exporter support for RDMA mmaps like doorbells

----------------------------------------------------------------
Carlos Bilbao (1):
RDMA/irdma: Use kvzalloc for paged memory DMA address array

Chengchang Tang (3):
RDMA/hns: Fix WQ_MEM_RECLAIM warning
RDMA/hns: Notify ULP of remaining soft-WCs during reset
RDMA/hns: Support drain SQ and RQ

Chiara Meiohas (1):
RDMA/mlx5: Fix UMR hang in LAG error state unload

Chuck Lever (5):
RDMA/core: add bio_vec based RDMA read/write API
RDMA/core: use IOVA-based DMA mapping for bvec RDMA operations
RDMA/core: add MR support for bvec-based RDMA operations
RDMA/core: add rdma_rw_max_sge() helper for SQ sizing
svcrdma: use bvec-based RDMA read/write API

Etienne AUJAMES (1):
IB/cache: update gid cache on client reregister event

Grzegorz Prajsner (1):
RDMA/rtrs-srv: Fix error print in process_info_req()

Honggang LI (1):
RDMA/rtrs: server: remove dead code

Jack Wang (1):
RDMA/rtrs-clt: Remove unused members in rtrs_clt_io_req

Jacob Moroni (5):
RDMA/irdma: Remove redundant dma_wmb() before writel()
RDMA/irdma: Remove fixed 1 ms delay during AH wait loop
RDMA/iwcm: Fix workqueue list corruption by removing work_list
RDMA/irdma: Add enum defs for reserved CQs/QPs
RDMA/irdma: Use CQ ID for CEQE context

Jiapeng Chong (1):
RDMA/irdma: Simplify bool conversion

Jiasheng Jiang (1):
RDMA/rxe: Fix double free in rxe_srq_from_init

Junxian Huang (2):
RDMA/hns: Return actual error code instead of fixed EINVAL
RDMA/hns: Fix RoCEv1 failure due to DSCP

Kalesh AP (5):
RDMA/bnxt_re: Add support for QP rate limiting
RDMA/bnxt_re: Report packet pacing capabilities when querying device
RDMA/bnxt_re: Report QP rate limit in debugfs
RDMA/mlx5: Support rate limit only for Raw Packet QP
IB/core: Extend rate limit support for RC QPs

Kim Zhu (4):
RDMA/rtrs: Add error description to the logs
RDMA/rtrs: Improve error logging for RDMA cm events
RDMA/rtrs-srv: Rate-limit I/O path error logging
RDMA/rtrs: Extend log message when a port fails

Konstantin Taranov (2):
RDMA/mana_ib: Take CQ type from the device type
RDMA/mana_ib: Add device‑memory support

Leon Romanovsky (8):
Support effective VF bandwidth query in LAG mode
RDMA/umem: Remove redundant DMABUF ops check
RDMA/mlx5: Avoid direct access to DMA device pointer
RDMA/qedr: Remove unused defines
RDMA/ocrdma: Remove unused OCRDMA_UVERBS definition
types: reuse common phys_vec type instead of DMABUF open‑coded variant
MAINTAINERS: Drop RDMA files from Hyper-V section
Merge tag 'common_phys_vec_via_vfio' into HEAD

Li Zhijian (3):
RDMA/rxe: Remove unused page_offset member
RDMA/rxe: Fix iova-to-va conversion for MR page sizes != PAGE_SIZE
RDMA/rxe: Fix race condition in QP timer handlers

Lianfa Weng (1):
RDMA/hns: Introduce limit_bank mode with better performance

Maher Sanalla (1):
RDMA/mlx5: Fix ucaps init error flow

Md Haris Iqbal (3):
RDMA/rtrs: Add optional support for IB_MR_TYPE_SG_GAPS
RDMA/rtrs-srv: Add check and closure for possible zombie paths
RDMA/rtrs-clt: For conn rejection use actual err number

Or Har-Toov (7):
IB/core: Add async event on device speed change
IB/core: Add helper to convert port attributes to data rate
IB/core: Refactor rate_show to use ib_port_attr_to_rate()
IB/core: Add query_port_speed verb
RDMA/mlx5: Raise async event on device speed change
RDMA/mlx5: Implement query_port_speed callback
IB/mlx5: Fix port speed query for representors

Parav Pandit (1):
RDMA/core: Avoid exporting module local functions and remove not-used ones

Roman Penyaev (1):
RDMA/rtrs-srv: fix SG mapping

Yi Liu (2):
RDMA/uverbs: Validate wqe_size before using it in ib_uverbs_post_send
RDMA/uverbs: Add __GFP_NOWARN to ib_uverbs_unmarshall_recv() kmalloc

Yishai Hadas (3):
RDMA/uverbs: Support external FD uobjects
RDMA/uverbs: Add DMABUF object type and operations
RDMA/mlx5: Implement DMABUF export ops

Yonatan Nachum (2):
RDMA/efa: Check stored completion CTX command ID with received one
RDMA/efa: Improve admin completion context state machine

YunJe Shin (2):
RDMA/umad: Reject negative data_len in ib_umad_write
RDMA/siw: Fix potential NULL pointer dereference in header processing

Zilin Guan (1):
RDMA/mlx5: Fix memory leak in GET_DATA_DIRECT_SYSFS_PATH handler

MAINTAINERS | 3 +-
drivers/dma-buf/dma-buf-mapping.c | 6 +-
drivers/infiniband/core/Makefile | 1 +
drivers/infiniband/core/cache.c | 3 +-
drivers/infiniband/core/device.c | 33 +-
drivers/infiniband/core/ib_core_uverbs.c | 24 +
drivers/infiniband/core/iwcm.c | 56 +--
drivers/infiniband/core/iwcm.h | 1 -
drivers/infiniband/core/rdma_core.c | 63 ++-
drivers/infiniband/core/rdma_core.h | 1 +
drivers/infiniband/core/rw.c | 521 +++++++++++++++++++--
drivers/infiniband/core/sysfs.c | 56 +--
drivers/infiniband/core/umem_dmabuf.c | 3 -
drivers/infiniband/core/user_mad.c | 8 +-
drivers/infiniband/core/uverbs.h | 21 +
drivers/infiniband/core/uverbs_cmd.c | 7 +-
drivers/infiniband/core/uverbs_std_types_device.c | 42 ++
drivers/infiniband/core/uverbs_std_types_dmabuf.c | 200 ++++++++
drivers/infiniband/core/uverbs_uapi.c | 1 +
drivers/infiniband/core/verbs.c | 61 ++-
drivers/infiniband/hw/bnxt_re/debugfs.c | 14 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 34 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 12 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 3 +
drivers/infiniband/hw/bnxt_re/qplib_res.h | 6 +
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 5 +
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 +
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 13 +-
drivers/infiniband/hw/efa/efa_com.c | 97 ++--
drivers/infiniband/hw/hns/hns_roce_ah.c | 23 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 12 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 6 +
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 220 ++++++++-
drivers/infiniband/hw/hns/hns_roce_main.c | 5 +
drivers/infiniband/hw/hns/hns_roce_qp.c | 49 +-
drivers/infiniband/hw/hns/hns_roce_restrack.c | 4 +-
drivers/infiniband/hw/irdma/ctrl.c | 67 +--
drivers/infiniband/hw/irdma/hw.c | 108 ++++-
drivers/infiniband/hw/irdma/main.h | 2 +
drivers/infiniband/hw/irdma/puda.c | 14 +
drivers/infiniband/hw/irdma/type.h | 18 +-
drivers/infiniband/hw/irdma/uk.c | 6 +-
drivers/infiniband/hw/irdma/utils.c | 11 +-
drivers/infiniband/hw/irdma/verbs.c | 21 +-
drivers/infiniband/hw/mana/cq.c | 4 +-
drivers/infiniband/hw/mana/device.c | 7 +
drivers/infiniband/hw/mana/mana_ib.h | 12 +
drivers/infiniband/hw/mana/mr.c | 130 +++++
drivers/infiniband/hw/mlx5/main.c | 305 +++++++++++-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 +
drivers/infiniband/hw/mlx5/mr.c | 11 +-
drivers/infiniband/hw/mlx5/qp.c | 5 +
drivers/infiniband/hw/mlx5/std_types.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma.h | 2 -
drivers/infiniband/hw/qedr/qedr.h | 20 -
drivers/infiniband/sw/rxe/rxe_comp.c | 3 +
drivers/infiniband/sw/rxe/rxe_mr.c | 282 +++++++----
drivers/infiniband/sw/rxe/rxe_odp.c | 1 -
drivers/infiniband/sw/rxe/rxe_req.c | 3 +
drivers/infiniband/sw/rxe/rxe_srq.c | 6 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 11 +-
drivers/infiniband/sw/siw/siw_qp_rx.c | 3 +-
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 8 +-
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 131 ++++--
drivers/infiniband/ulp/rtrs/rtrs-clt.h | 3 -
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 12 +-
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 192 +++++---
drivers/infiniband/ulp/rtrs/rtrs-srv.h | 1 +
drivers/infiniband/ulp/rtrs/rtrs.c | 9 +-
drivers/iommu/iommufd/io_pagetable.h | 2 +-
drivers/iommu/iommufd/iommufd_private.h | 5 +-
drivers/iommu/iommufd/pages.c | 4 +-
drivers/iommu/iommufd/selftest.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c | 215 +++++++++
drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h | 11 +
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.c | 39 ++
.../net/ethernet/mellanox/mlx5/core/lag/mpesw.h | 14 +
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/port.c | 24 +
drivers/net/ethernet/mellanox/mlx5/core/vport.c | 74 +++
drivers/vfio/pci/nvgrace-gpu/main.c | 2 +-
drivers/vfio/pci/vfio_pci_dmabuf.c | 8 +-
include/linux/dma-buf-mapping.h | 2 +-
include/linux/dma-buf.h | 10 -
include/linux/mlx5/driver.h | 1 +
include/linux/mlx5/mlx5_ifc.h | 9 +-
include/linux/mlx5/vport.h | 6 +
include/linux/vfio_pci_core.h | 13 +-
include/net/mana/gdma.h | 47 +-
include/rdma/ib_verbs.h | 70 ++-
include/rdma/rw.h | 22 +
include/rdma/uverbs_types.h | 1 +
include/uapi/rdma/bnxt_re-abi.h | 16 +
include/uapi/rdma/ib_user_ioctl_cmds.h | 16 +
include/uapi/rdma/mana-abi.h | 3 +
net/sunrpc/xprtrdma/svc_rdma_rw.c | 155 +++---
net/sunrpc/xprtrdma/svc_rdma_transport.c | 8 +-
97 files changed, 3057 insertions(+), 755 deletions(-)
create mode 100644 drivers/infiniband/core/uverbs_std_types_dmabuf.c

Attachment: signature.asc
Description: PGP signature