Skip to contentSkip to conversation

Please pull RDMA subsystem changes

GIT PULL Merged Jason Gunthorpe 2 participants 2 messages Apr 20 InfiniBand

lore
Share & tools
lore

Jason Gunthorpe

author maintainer
#0 lore raw

Hi Linus,

There was a last minute userspace regression reported, so this is a little later than I usually send it.

There are three merge conflicts this time, one is silent.

1) The struct member wad renamed in the DMABUF tree:

+++ b/drivers/infiniband/core/umem_dmabuf.c

+static struct dma_buf_attach_ops ib_umem_dmabuf_attach_pinned_revocable_ops = {

 +      .allow_peer2peer = true,
-       .move_notify = ib_umem_dmabuf_revoke_locked,
++      .invalidate_mappings = ib_umem_dmabuf_revoke_locked,

+};

2) Overlapping removals:

+++ b/drivers/infiniband/hw/mlx5/mr.c
@@@ -46,15 -46,14 +46,13 @@@
#include "data_direct.h"
#include "dmah.h"

- #define MLX5_UMR_ALIGN 2048
-
-enum {
- MAX_PENDING_REG_MR = 8,
-};
+static int mkey_max_umr_order(struct mlx5_ib_dev *dev) +{
+ if (MLX5_CAP_GEN(dev->mdev, umr_extended_translation_offset))
+ return MLX5_MAX_UMR_EXTENDED_SHIFT;
+ return MLX5_MAX_UMR_SHIFT;
+}

-#define MLX5_MR_CACHE_PERSISTENT_ENTRY_MIN_DESCS 4
-
-static void
-create_mkey_callback(int status, struct mlx5_async_work *context);

3) rxe_ns_pernet_sk6:

+++ b/drivers/infiniband/sw/rxe/rxe_net.c
@@@ -141,9 -138,9 +141,7 @@@ static struct dst_entry *rxe_find_route

        memcpy(&fl6.daddr, daddr, sizeof(*daddr));
        fl6.flowi6_proto = IPPROTO_UDP;

- ndst = ipv6_stub->ipv6_dst_lookup_flow(net,
- rxe_ns_pernet_sk6(net), &fl6,
- NULL);
- ndst = ip6_dst_lookup_flow(sock_net(recv_sockets.sk6->sk),
- recv_sockets.sk6->sk, &fl6,
- NULL);

++      ndst = ip6_dst_lookup_flow(net, rxe_ns_pernet_sk6(net), &fl6, NULL);
        if (IS_ERR(ndst)) {
                rxe_dbg_qp(qp, "no route to %pI6\n", daddr);
                return NULL;

The tag for-linus-merged with my merge resolution to your tree is also available to pull.

Thanks,
Jason

The following changes since commit 7aaa8047eafd0bd628065b15757d9b48c5f9c07d:

Linux 7.0-rc6 (2026-03-29 15:40:00 -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 9091e3b59f2bef11c0a841096327565ae0ca220b:

RDMA/core: Fix user CQ creation for drivers without create_cq (2026-04-17 12:16:00 -0300)

----------------------------------------------------------------
RDMA v7.1 merge window

Usual collection of driver changes, more core infrastructure updates that typical this cycle:

- Minor cleanups and kernel-doc fixes in bnxt_re, hns, rdmavt, efa, ocrdma, erdma, rtrs, hfi1, ionic, and pvrdma

- New udata validation framework and driver updates

- Modernize CQ creation interface in mlx4 and mlx5, manage CQ umem in core

- Promote UMEM to a core component, split out DMA block iterator logic

- Introduce FRMR pools with aging, statistics, pinned handles, and netlink control and use it in mlx5

- Add PCIe TLP emulation support in mlx5

- Extend umem to work with revocable pinned dmabuf's and use it in irdma

- More net namespace improvements for rxe

- GEN4 hardware support in irdma

- First steps to MW and UC support in mana_ib

- Support for CQ umem and doorbells in bnxt_re

- Drop opa_vnic driver from hfi1

- Fixes:
IB/core zero dmac neighbor resolution race GID table memory free
rxe pad/ICRC validation and r_key async errors mlx4 external umem for CQ
umem DMA attributes on unmap
mana_ib RX steering on RSS QP destroy

----------------------------------------------------------------
Chen Zhao (1):
IB/core: Fix zero dmac race in neighbor resolution

Cheng Xu (1):
RDMA/erdma: Remove numa_node from struct erdma_devattr

Chiara Meiohas (1):
RDMA/mlx5: Move device async_ctx initialization

Dean Luick (4):
RDMA/OPA: Update OPA link speed list RDMA/rdmavt: Add ucontext alloc/dealloc passthrough RDMA/rdmavt: Correct multi-port QP iteration RDMA/rdmavt: Add driver mmap callback

Dennis Dalessandro (1):
RDMA/hfi1: Remove opa_vnic

Evan Green (1):
RDMA/rxe: Generate async error for r_key violations

Florian Westphal (1):
RDMA/core: Prefer NLA_NUL_STRING

Jacob Moroni (6):
RDMA/umem: Add ib_umem_dmabuf_get_pinned_and_lock helper RDMA/umem: Move umem dmabuf revoke logic into helper function RDMA/umem: Add pinned revocable dmabuf import interface RDMA/umem: Add helpers for umem dmabuf revoke lock RDMA/irdma: Add support for revocable pinned dmabuf import RDMA/irdma: Add support for GEN4 hardware

Jason Gunthorpe (29):
RDMA: Use copy_struct_from_user() instead of open coding RDMA/core: Add rdma_udata_to_dev()
RDMA: Add ib_copy_validate_udata_in()
RDMA: Add ib_copy_validate_udata_in_cm()
RDMA: Add ib_respond_udata()
RDMA: Add ib_is_udata_in_empty()
RDMA: Provide documentation about the uABI compatibility rules RDMA/bnxt_re: Add compatibility checks to the uapi path RDMA/bnxt_re: Add compatibility checks to the uapi path for no data RDMA/bnxt_re: Add missing comp_mask validation
RDMA/bnxt_re: Use ib_respond_udata()
RDMA/bnxt_re: Use ib_respond_empty_udata()
RDMA: Add IB_UVERBS_CORE_SUPPORT_ROBUST_UDATA
RDMA: Consolidate patterns with offsetofend() to ib_copy_validate_udata_in()
RDMA: Consolidate patterns with offsetof() to ib_copy_validate_udata_in()
RDMA: Consolidate patterns with sizeof() to ib_copy_validate_udata_in()
RDMA: Use ib_copy_validate_udata_in() for implicit full structs RDMA/pvrdma: Use ib_copy_validate_udata_in() for srq
RDMA/mlx5: Use ib_copy_validate_udata_in() for SRQ
RDMA/mlx5: Use ib_copy_validate_udata_in() for MW
RDMA/mlx4: Use ib_copy_validate_udata_in()
RDMA/mlx4: Use ib_copy_validate_udata_in() for QP
RDMA/hns: Use ib_copy_validate_udata_in()
RDMA: Use ib_copy_validate_udata_in_cm() for zero comp_mask RDMA/mlx5: Pull comp_mask validation into ib_copy_validate_udata_in_cm() RDMA/hns: Add missing comp_mask check in create_qp
RDMA/irdma: Add missing comp_mask check in alloc_ucontext
RDMA: Remove redundant = {} for udata req structs
RDMA/hns: Remove the duplicate calls to ib_copy_validate_udata_in()

Jay Bhat (1):
RDMA/irdma: Provide scratch buffers to firmware for internal use

Kai Zen (1):
RDMA/ionic: bound node_desc sysfs read with %.64s

Kalesh AP (3):
RDMA/bnxt_re: Move the UAPI methods to a dedicated file RDMA/bnxt_re: Refactor bnxt_qplib_create_qp() function RDMA/bnxt_re: Support doorbell extensions

Kexin Sun (2):
RDMA/uverbs: Update outdated reference to remove_commit_idr_uobject()
RDMA: Remove outdated comments referencing hfi1_destroy_qp()

Konstantin Taranov (2):
RDMA/mana_ib: cleanup the usage of mana_gd_send_request() RDMA/mana_ib: Support memory windows

Leon Romanovsky (27):
RDMA: Move DMA block iterator logic into dedicated files RDMA/umem: Allow including ib_umem header from any location RDMA/umem: Remove unnecessary includes and defines from ib_umem header RDMA/core: Promote UMEM to a core component
RDMA/core: Manage CQ umem in core code
RDMA/efa: Rely on CPU address in create‑QP
RDMA/core: Prepare create CQ path for API unification RDMA/core: Reject zero CQE count
RDMA/efa: Remove check for zero CQE count
RDMA/mlx5: Save 4 bytes in CQ structure
RDMA/mlx5: Provide a modern CQ creation interface RDMA/mlx4: Inline mlx4_ib_get_cq_umem into callers RDMA/mlx4: Introduce a modern CQ creation interface RDMA/mlx4: Remove unused create_flags field from CQ structure
RDMA: Complete k[z|m|c]alloc-to-k[z|m]alloc_obj conversion RDMA/core: Delete not-implemented get_vector_affinity
Add support for TLP emulation
RDMA/core: Remove unused ib_resize_cq() implementation
RDMA: Clarify that CQ resize is a user‑space verb
RDMA: Properly propagate the number of CQEs as unsigned int RDMA/bnxt_re: Simplify bnxt_re_init_depth() callers and implementation RDMA/bnxt_re: Remove unnecessary checks in kernel CQ creation path RDMA/bnxt_re: Replace kcalloc() with kzalloc_objs() RDMA/bnxt_re: Clean up uverbs CQ creation path
Merge branch 'master' into rdma-next
RDMA/umem: Use consistent DMA attributes when unmapping entries RDMA/mlx4: Restrict external umem for CQ when copy_to_user() is used

Long Li (1):
RDMA/mana_ib: Disable RX steering on RSS QP destroy

Maher Sanalla (3):
RDMA/mlx5: Refactor VAR table to use region abstraction RDMA/mlx5: Add TLP VAR region support and infrastructure RDMA/mlx5: Add support for TLP VAR allocation

Marco Crivellari (2):
RDMA/rtrs: add WQ_PERCPU to alloc_workqueue users RDMA/rxe: Replace use of system_unbound_wq with rxe_wq

Michael Guralnik (10):
IB/core: Introduce FRMR pools
RDMA/core: Add aging to FRMR pools
RDMA/core: Add FRMR pools statistics RDMA/core: Add pinned handles to FRMR pools RDMA/mlx5: Switch from MR cache to FRMR pools net/mlx5: Drop MR cache related code RDMA/nldev: Add command to get FRMR pools RDMA/core: Add netlink command to modify FRMR aging RDMA/nldev: Add command to set pinned FRMR handles RDMA/nldev: Expose kernel-internal FRMR pools in netlink

Michael Margolin (2):
RDMA/efa: Rename alloc_ucontext comp_mask to supported_caps RDMA/core: Fix user CQ creation for drivers without create_cq

Randy Dunlap (4):
IB/cache: avoid kernel-doc warnings RDMA/umem: fix kernel-doc warnings RDMA/iwcm: fix some kernel-doc issues in iw_cm.h RDMA/restrack: fix kernel-doc indicator

Rosen Penev (3):
RDMA/ocrdma: kzalloc_objs to kzalloc_flex
IB/hfi1: kzalloc to kzalloc_flex
RDMA/core: Use kzalloc_flex for GID table

Sriharsha Basavapatna (3):
RDMA/bnxt_re: Refactor bnxt_re_create_cq() RDMA/bnxt_re: Separate kernel and user CQ creation paths RDMA/bnxt_re: Support application specific CQs

Yonatan Nachum (3):
RDMA/efa: Rename admin queue attributes struct name for extendability RDMA/efa: Expose new extended max inline buff size RDMA/efa: Use extended inline buff size for inline validation

Zhu Yanjun (4):
RDMA/nldev: Add dellink function pointer
RDMA/rxe: Add net namespace support for IPv4/IPv6 sockets RDMA/rxe: Support RDMA link creation and destruction per net namespace RDMA/rxe: Add testcase for net namespace rxe

hkbinbin (1):
RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv

zhenwei pi (1):
RDMA/core: Fix memory free for GID table

 Documentation/driver-api/infiniband.rst            |   15 -
 Documentation/infiniband/index.rst                 |    1 -
 Documentation/infiniband/opa_vnic.rst              |  159 ---
 .../translations/zh_CN/infiniband/index.rst        |    1 -
 .../translations/zh_CN/infiniband/opa_vnic.rst     |  156 ---
 MAINTAINERS                                        |    8 +-
 drivers/infiniband/Kconfig                         |    2 -
 drivers/infiniband/core/Makefile                   |    6 +-
 drivers/infiniband/core/addr.c                     |    3 +
 drivers/infiniband/core/cache.c                    |   15 +-
 drivers/infiniband/core/cq.c                       |    3 +
 drivers/infiniband/core/device.c                   |    6 +-
 drivers/infiniband/core/frmr_pools.c               |  547 +++++++++
 drivers/infiniband/core/frmr_pools.h               |   63 ++
 drivers/infiniband/core/ib_core_uverbs.c           |   27 +
 drivers/infiniband/core/iter.c                     |   43 +
 drivers/infiniband/core/iwpm_msg.c                 |    6 +-
 drivers/infiniband/core/nldev.c                    |  298 +++++
 drivers/infiniband/core/rdma_core.c                |    4 +-
 drivers/infiniband/core/rdma_core.h                |    3 +
 drivers/infiniband/core/umem.c                     |   15 +-
 drivers/infiniband/core/umem_dmabuf.c              |  138 ++-
 drivers/infiniband/core/uverbs_cmd.c               |   40 +-
 drivers/infiniband/core/uverbs_ioctl.c             |   87 ++
 drivers/infiniband/core/uverbs_std_types_cq.c      |   41 +-
 drivers/infiniband/core/uverbs_std_types_device.c  |    8 +
 drivers/infiniband/core/verbs.c                    |   59 +-
 drivers/infiniband/hw/bnxt_re/Makefile             |    2 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |  894 ++++++++-------
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   25 +-
 drivers/infiniband/hw/bnxt_re/main.c               |    4 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c           |  305 ++----
 drivers/infiniband/hw/bnxt_re/qplib_fp.h           |    8 +
 drivers/infiniband/hw/bnxt_re/qplib_res.c          |   47 +-
 drivers/infiniband/hw/bnxt_re/qplib_res.h          |   10 +
 drivers/infiniband/hw/bnxt_re/uapi.c               |  469 ++++++++
 drivers/infiniband/hw/cxgb4/mem.c                  |    2 +-
 drivers/infiniband/hw/efa/efa.h                    |    6 +-
 drivers/infiniband/hw/efa/efa_admin_cmds_defs.h    |   23 +-
 drivers/infiniband/hw/efa/efa_com_cmd.c            |   55 +-
 drivers/infiniband/hw/efa/efa_com_cmd.h            |    3 +-
 drivers/infiniband/hw/efa/efa_main.c               |    3 +-
 drivers/infiniband/hw/efa/efa_verbs.c              |  123 +--
 drivers/infiniband/hw/erdma/erdma.h                |    1 -
 drivers/infiniband/hw/erdma/erdma_eq.c             |    3 +-
 drivers/infiniband/hw/erdma/erdma_main.c           |    1 -
 drivers/infiniband/hw/erdma/erdma_verbs.c          |    8 +-
 drivers/infiniband/hw/hfi1/Makefile                |    4 +-
 drivers/infiniband/hw/hfi1/aspm.c                  |    2 +-
 drivers/infiniband/hw/hfi1/chip.c                  |   54 +-
 drivers/infiniband/hw/hfi1/chip.h                  |    2 -
 drivers/infiniband/hw/hfi1/driver.c                |   13 +-
 drivers/infiniband/hw/hfi1/hfi.h                   |   20 -
 drivers/infiniband/hw/hfi1/init.c                  |    4 +-
 drivers/infiniband/hw/hfi1/mad.c                   |    1 -
 drivers/infiniband/hw/hfi1/msix.c                  |    4 +-
 drivers/infiniband/hw/hfi1/netdev.h                |    8 +-
 drivers/infiniband/hw/hfi1/netdev_rx.c             |    3 +-
 drivers/infiniband/hw/hfi1/qp.c                    |    1 -
 drivers/infiniband/hw/hfi1/user_exp_rcv.c          |   14 +-
 drivers/infiniband/hw/hfi1/user_exp_rcv.h          |    2 +-
 drivers/infiniband/hw/hfi1/verbs.c                 |    2 -
 drivers/infiniband/hw/hfi1/vnic.h                  |  126 ---
 drivers/infiniband/hw/hfi1/vnic_main.c             |  615 -----------
 drivers/infiniband/hw/hfi1/vnic_sdma.c             |  282 -----
 drivers/infiniband/hw/hns/hns_roce_alloc.c         |    2 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c            |   16 +-
 drivers/infiniband/hw/hns/hns_roce_hem.c           |    7 +-
 drivers/infiniband/hw/hns/hns_roce_main.c          |    6 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   23 +-
 drivers/infiniband/hw/hns/hns_roce_srq.c           |   54 +-
 drivers/infiniband/hw/ionic/ionic_controlpath.c    |    6 +-
 drivers/infiniband/hw/ionic/ionic_ibdev.c          |    2 +-
 drivers/infiniband/hw/ionic/ionic_ibdev.h          |    2 +-
 drivers/infiniband/hw/irdma/ctrl.c                 |   44 +-
 drivers/infiniband/hw/irdma/defs.h                 |    4 +
 drivers/infiniband/hw/irdma/hw.c                   |   29 +-
 drivers/infiniband/hw/irdma/ig3rdma_hw.c           |    1 -
 drivers/infiniband/hw/irdma/irdma.h                |    1 +
 drivers/infiniband/hw/irdma/main.h                 |    2 +-
 drivers/infiniband/hw/irdma/type.h                 |    2 +
 drivers/infiniband/hw/irdma/user.h                 |    4 +-
 drivers/infiniband/hw/irdma/verbs.c                |  121 +-
 drivers/infiniband/hw/mana/cq.c                    |   11 +-
 drivers/infiniband/hw/mana/device.c                |    3 +
 drivers/infiniband/hw/mana/main.c                  |  141 +--
 drivers/infiniband/hw/mana/mana_ib.h               |   10 +-
 drivers/infiniband/hw/mana/mr.c                    |   92 +-
 drivers/infiniband/hw/mana/qp.c                    |   69 +-
 drivers/infiniband/hw/mana/wq.c                    |   12 +-
 drivers/infiniband/hw/mlx4/cq.c                    |  258 +++--
 drivers/infiniband/hw/mlx4/main.c                  |   14 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |    8 +-
 drivers/infiniband/hw/mlx4/mr.c                    |    1 +
 drivers/infiniband/hw/mlx4/qp.c                    |   82 +-
 drivers/infiniband/hw/mlx4/srq.c                   |    5 +-
 drivers/infiniband/hw/mlx5/cq.c                    |  183 ++--
 drivers/infiniband/hw/mlx5/devx.c                  |    6 +-
 drivers/infiniband/hw/mlx5/dm.c                    |    2 +-
 drivers/infiniband/hw/mlx5/fs.c                    |    6 +-
 drivers/infiniband/hw/mlx5/main.c                  |  172 ++-
 drivers/infiniband/hw/mlx5/mem.c                   |    1 +
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |  102 +-
 drivers/infiniband/hw/mlx5/mr.c                    | 1158 ++++----------------
 drivers/infiniband/hw/mlx5/odp.c                   |   19 -
 drivers/infiniband/hw/mlx5/qos.c                   |    2 +-
 drivers/infiniband/hw/mlx5/qp.c                    |   68 +-
 drivers/infiniband/hw/mlx5/srq.c                   |   17 +-
 drivers/infiniband/hw/mlx5/umr.c                   |    1 +
 drivers/infiniband/hw/mlx5/umr.h                   |    1 +
 drivers/infiniband/hw/mthca/mthca_provider.c       |   36 +-
 drivers/infiniband/hw/ocrdma/ocrdma.h              |    2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_main.c         |    2 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   56 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |    2 +-
 drivers/infiniband/hw/qedr/verbs.c                 |   44 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |    2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma.h          |    2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |    5 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c     |    3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c       |    6 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c      |    6 +-
 drivers/infiniband/sw/rdmavt/cq.c                  |    4 +-
 drivers/infiniband/sw/rdmavt/cq.h                  |    2 +-
 drivers/infiniband/sw/rdmavt/mcast.c               |    1 -
 drivers/infiniband/sw/rdmavt/mmap.c                |   22 +-
 drivers/infiniband/sw/rdmavt/qp.c                  |    2 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |   10 +-
 drivers/infiniband/sw/rxe/Makefile                 |    3 +-
 drivers/infiniband/sw/rxe/rxe.c                    |   38 +-
 drivers/infiniband/sw/rxe/rxe.h                    |    2 +
 drivers/infiniband/sw/rxe/rxe_cq.c                 |   31 -
 drivers/infiniband/sw/rxe/rxe_loc.h                |    3 -
 drivers/infiniband/sw/rxe/rxe_net.c                |  144 ++-
 drivers/infiniband/sw/rxe/rxe_net.h                |    9 +-
 drivers/infiniband/sw/rxe/rxe_ns.c                 |  124 +++
 drivers/infiniband/sw/rxe/rxe_ns.h                 |   26 +
 drivers/infiniband/sw/rxe/rxe_odp.c                |    2 +-
 drivers/infiniband/sw/rxe/rxe_recv.c               |    3 +-
 drivers/infiniband/sw/rxe/rxe_resp.c               |   56 +-
 drivers/infiniband/sw/rxe/rxe_task.c               |    2 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |   33 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h              |    1 +
 drivers/infiniband/sw/siw/siw_verbs.c              |    6 +-
 drivers/infiniband/ulp/Makefile                    |    1 -
 drivers/infiniband/ulp/opa_vnic/Kconfig            |    9 -
 drivers/infiniband/ulp/opa_vnic/Makefile           |    9 -
 drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c   |  513 ---------
 drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h   |  524 ---------
 drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c |  183 ----
 .../infiniband/ulp/opa_vnic/opa_vnic_internal.h    |  329 ------
 drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c  |  400 -------
 drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c    | 1056 ------------------
 .../infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c  |  390 -------
 drivers/infiniband/ulp/rtrs/rtrs-clt.c             |    2 +-
 drivers/infiniband/ulp/rtrs/rtrs-srv.c             |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   67 +-
 drivers/net/ethernet/microsoft/mana/mana_en.c      |   11 +-
 include/linux/mlx5/driver.h                        |   11 -
 include/net/mana/gdma.h                            |    5 +
 include/net/mana/mana.h                            |    1 +
 include/rdma/frmr_pools.h                          |   39 +
 include/rdma/ib_cache.h                            |    4 +-
 include/rdma/ib_umem.h                             |   66 +-
 include/rdma/ib_verbs.h                            |  194 ++--
 include/rdma/iter.h                                |   88 ++
 include/rdma/iw_cm.h                               |   14 +-
 include/rdma/opa_port_info.h                       |    8 +-
 include/rdma/opa_vnic.h                            |   96 --
 include/rdma/rdma_netlink.h                        |    2 +
 include/rdma/rdma_vt.h                             |   10 +
 include/rdma/restrack.h                            |    4 +-
 include/rdma/uverbs_ioctl.h                        |  101 ++
 include/uapi/rdma/bnxt_re-abi.h                    |   36 +-
 include/uapi/rdma/efa-abi.h                        |   11 +-
 include/uapi/rdma/ib_user_ioctl_verbs.h            |    1 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |    1 +
 include/uapi/rdma/mlx5_user_ioctl_verbs.h          |    4 +
 include/uapi/rdma/rdma_netlink.h                   |   22 +
 tools/testing/selftests/Makefile                   |    1 +
 tools/testing/selftests/rdma/Makefile              |    7 +
 tools/testing/selftests/rdma/config                |    3 +
 tools/testing/selftests/rdma/rxe_ipv6.sh           |   63 ++
 .../selftests/rdma/rxe_rping_between_netns.sh      |   85 ++
 .../selftests/rdma/rxe_socket_with_netns.sh        |   76 ++
 .../selftests/rdma/rxe_test_NETDEV_UNREGISTER.sh   |   63 ++
 186 files changed, 4726 insertions(+), 8149 deletions(-)

(diffstat from tag for-linus-merged)