[GIT PULL] Please pull RDMA subsystem changes

From: Jason Gunthorpe
Date: Thu Nov 02 2023 - 19:10:02 EST


Hi Linus,

Nothing exciting this cycle, most of the diffstat is changing SPDX 'or'
to 'OR'.

Thanks,
Jason

The following changes since commit ffc253263a1375a65fa6c9f62a893e9767fbebfa:

Linux 6.6 (2023-10-29 16:31:08 -1000)

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 2ef422f063b74adcc4a4a9004b0a87bb55e0a836:

IB/mlx5: Fix init stage error handling to avoid double free of same QP and UAF (2023-10-31 11:16:05 -0300)

----------------------------------------------------------------
RDMA for v6.7

The usual collection of patches:

- Bug fixes for hns, mlx5, and hfi1

- Hardening patches for size_*, counted_by, strscpy

- rts fixes from static analysis

- Dump SRQ objects in rdma netlink, with hns support

- Fix a performance regression in mlx5 MR deregistration

- New XDR (200Gb/lane) link speed

- SRQ record doorbell latency optimization for hns

- IPSEC support for mlx5 multi-port mode

- ibv_rereg_mr() support for irdma

- Affiliated event support for bnxt_re

- Opt out for the spec compliant qkey security enforcement as we
discovered SW that breaks under enforcement

- Comment and trivial updates

----------------------------------------------------------------
Chandramohan Akula (3):
RDMA/bnxt_re: Update HW interface headers
RDMA/bnxt_re: Report async events and errors
RDMA/bnxt_re: Do not report SRQ error in srq notification

Chengchang Tang (3):
RDMA/hns: Fix printing level of asynchronous events
RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common()
RDMA/hns: Fix signed-unsigned mixed comparisons

Chengfeng Ye (1):
IB/hfi1: Fix potential deadlock on &irq_src_lock and &dd->uctxt_lock

Chuck Lever (1):
RDMA/core: Fix a couple of obvious typos in comments

Colin Ian King (1):
RDMA/hfi1: Remove redundant assignment to pointer ppd

David Ahern (1):
IB/hfi1: Remove open coded reference to skb frag offset

George Kennedy (1):
IB/mlx5: Fix init stage error handling to avoid double free of same QP and UAF

Gustavo A. R. Silva (1):
RDMA/core: Use size_{add,sub,mul}() in calls to struct_size()

Ilpo Järvinen (1):
RDMA/hfi1: Use FIELD_GET() to extract Link Width

Jason Gunthorpe (1):
Merge tag 'v6.6' into rdma.git for-next

Junxian Huang (2):
RDMA/hns: Fix unnecessary port_num transition in HW stats allocation
RDMA/hns: Fix init failure of RoCE VF and HIP08

Justin Stitt (3):
RDMA/irdma: Replace deprecated strncpy
IB/hfi1: Replace deprecated strncpy
IB/qib: Replace deprecated strncpy

Kees Cook (7):
RDMA: Annotate struct rdma_hw_stats with __counted_by
RDMA/core: Annotate struct ib_pkey_cache with __counted_by
RDMA/usnic: Annotate struct usnic_uiom_chunk with __counted_by
RDMA/siw: Annotate struct siw_pbl with __counted_by
IB/srp: Annotate struct srp_fr_pool with __counted_by
IB/mthca: Annotate struct mthca_icm_table with __counted_by
IB/hfi1: Annotate struct tid_rb_node with __counted_by

Krzysztof Kozlowski (1):
IB: Use capital "OR" for multiple licenses in SPDX

Leon Romanovsky (2):
IPsec packet offload support in multiport RoCE devices
RDMA/hfi1: Workaround truncation compilation error

Luoyouming (2):
RDMA/hns: Add check for SL
RDMA/hns: The UD mode can only be configured with DCQCN

Moshe Shemesh (1):
RDMA/mlx5: Fix mkey cache WQ flush

Nathan Chancellor (1):
RDMA/bnxt_re: Fix clang -Wimplicit-fallthrough in bnxt_re_handle_cq_async_error()

Or Har-Toov (2):
IB/core: Add support for XDR link speed
IB/mlx5: Expose XDR speed through MAD

Patrisious Haddad (7):
IB/mlx5: Add support for 800G_8X lane speed
IB/mlx5: Rename 400G_8X speed to comply to naming convention
IB/mlx5: Adjust mlx5 rate mapping to support 800Gb
RDMA/ipoib: Add support for XDR speed in ethtool
IB/mlx5: Fix rdma counter binding for RAW QP
RDMA/core: Add support to set privileged QKEY parameter
RDMA/mlx5: Change the key being sent for MPV device affiliation

Rohit Chavan (1):
RDMA/core: Fix repeated words in comments

Shay Drory (1):
RDMA/mlx5: Implement mkeys management via LIFO queue

Sindhu Devale (1):
RDMA/irdma: Add support to re-register a memory region

Yang Li (1):
RDMA/core: Remove NULL check before dev_{put, hold}

Yangyang Li (1):
RDMA/hns: Support SRQ record doorbell

Zhu Yanjun (2):
RDMA/rtrs: Require holding rcu_read_lock explicitly
RDMA/rtrs: Fix the problem of variable not initialized fully

wenglianfa (3):
RDMA/core: Add dedicated SRQ resource tracker function
RDMA/core: Add support to dump SRQ resource in RAW format
RDMA/hns: Support SRQ restrack ops for hns driver

drivers/infiniband/core/cache.c | 2 +-
drivers/infiniband/core/core_priv.h | 1 +
drivers/infiniband/core/device.c | 4 +-
drivers/infiniband/core/lag.c | 3 +-
drivers/infiniband/core/nldev.c | 92 +++++-
drivers/infiniband/core/rw.c | 2 +-
drivers/infiniband/core/sa_query.c | 4 +-
drivers/infiniband/core/sysfs.c | 14 +-
drivers/infiniband/core/user_mad.c | 4 +-
drivers/infiniband/core/uverbs_cmd.c | 3 +-
drivers/infiniband/core/uverbs_std_types_device.c | 3 +-
drivers/infiniband/core/verbs.c | 7 +-
drivers/infiniband/hw/bnxt_re/main.c | 173 +++++++++++-
drivers/infiniband/hw/bnxt_re/qplib_tlv.h | 2 +-
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 58 ++++
drivers/infiniband/hw/hfi1/affinity.c | 2 +-
drivers/infiniband/hw/hfi1/affinity.h | 2 +-
drivers/infiniband/hw/hfi1/aspm.h | 2 +-
drivers/infiniband/hw/hfi1/chip.c | 11 +-
drivers/infiniband/hw/hfi1/chip.h | 2 +-
drivers/infiniband/hw/hfi1/chip_registers.h | 2 +-
drivers/infiniband/hw/hfi1/common.h | 2 +-
drivers/infiniband/hw/hfi1/debugfs.c | 2 +-
drivers/infiniband/hw/hfi1/debugfs.h | 2 +-
drivers/infiniband/hw/hfi1/device.c | 2 +-
drivers/infiniband/hw/hfi1/device.h | 2 +-
drivers/infiniband/hw/hfi1/driver.c | 2 +-
drivers/infiniband/hw/hfi1/efivar.c | 4 +-
drivers/infiniband/hw/hfi1/efivar.h | 2 +-
drivers/infiniband/hw/hfi1/eprom.c | 2 +-
drivers/infiniband/hw/hfi1/eprom.h | 2 +-
drivers/infiniband/hw/hfi1/exp_rcv.c | 2 +-
drivers/infiniband/hw/hfi1/exp_rcv.h | 2 +-
drivers/infiniband/hw/hfi1/fault.c | 2 +-
drivers/infiniband/hw/hfi1/fault.h | 2 +-
drivers/infiniband/hw/hfi1/file_ops.c | 2 +-
drivers/infiniband/hw/hfi1/firmware.c | 2 +-
drivers/infiniband/hw/hfi1/hfi.h | 2 +-
drivers/infiniband/hw/hfi1/init.c | 3 +-
drivers/infiniband/hw/hfi1/intr.c | 2 +-
drivers/infiniband/hw/hfi1/iowait.h | 2 +-
drivers/infiniband/hw/hfi1/ipoib_tx.c | 2 +-
drivers/infiniband/hw/hfi1/mad.c | 2 +-
drivers/infiniband/hw/hfi1/mad.h | 2 +-
drivers/infiniband/hw/hfi1/mmu_rb.c | 2 +-
drivers/infiniband/hw/hfi1/mmu_rb.h | 2 +-
drivers/infiniband/hw/hfi1/opa_compat.h | 2 +-
drivers/infiniband/hw/hfi1/pcie.c | 11 +-
drivers/infiniband/hw/hfi1/pio.c | 2 +-
drivers/infiniband/hw/hfi1/pio.h | 2 +-
drivers/infiniband/hw/hfi1/pio_copy.c | 2 +-
drivers/infiniband/hw/hfi1/platform.c | 2 +-
drivers/infiniband/hw/hfi1/platform.h | 2 +-
drivers/infiniband/hw/hfi1/qp.c | 2 +-
drivers/infiniband/hw/hfi1/qp.h | 2 +-
drivers/infiniband/hw/hfi1/qsfp.c | 2 +-
drivers/infiniband/hw/hfi1/qsfp.h | 2 +-
drivers/infiniband/hw/hfi1/rc.c | 2 +-
drivers/infiniband/hw/hfi1/ruc.c | 2 +-
drivers/infiniband/hw/hfi1/sdma.c | 2 +-
drivers/infiniband/hw/hfi1/sdma.h | 2 +-
drivers/infiniband/hw/hfi1/sdma_txreq.h | 2 +-
drivers/infiniband/hw/hfi1/sysfs.c | 2 +-
drivers/infiniband/hw/hfi1/trace.c | 2 +-
drivers/infiniband/hw/hfi1/trace.h | 2 +-
drivers/infiniband/hw/hfi1/trace_ctxts.h | 2 +-
drivers/infiniband/hw/hfi1/trace_dbg.h | 2 +-
drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 2 +-
drivers/infiniband/hw/hfi1/trace_misc.h | 2 +-
drivers/infiniband/hw/hfi1/trace_mmu.h | 2 +-
drivers/infiniband/hw/hfi1/trace_rc.h | 2 +-
drivers/infiniband/hw/hfi1/trace_rx.h | 2 +-
drivers/infiniband/hw/hfi1/trace_tx.h | 2 +-
drivers/infiniband/hw/hfi1/uc.c | 2 +-
drivers/infiniband/hw/hfi1/ud.c | 2 +-
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 2 +-
drivers/infiniband/hw/hfi1/user_exp_rcv.h | 4 +-
drivers/infiniband/hw/hfi1/user_pages.c | 2 +-
drivers/infiniband/hw/hfi1/user_sdma.c | 2 +-
drivers/infiniband/hw/hfi1/user_sdma.h | 2 +-
drivers/infiniband/hw/hfi1/verbs.c | 2 +-
drivers/infiniband/hw/hfi1/verbs.h | 2 +-
drivers/infiniband/hw/hfi1/verbs_txreq.c | 2 +-
drivers/infiniband/hw/hfi1/verbs_txreq.h | 2 +-
drivers/infiniband/hw/hfi1/vnic.h | 2 +-
drivers/infiniband/hw/hfi1/vnic_main.c | 2 +-
drivers/infiniband/hw/hfi1/vnic_sdma.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 13 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 6 +
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 90 ++++--
drivers/infiniband/hw/hns/hns_roce_main.c | 24 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_restrack.c | 49 ++++
drivers/infiniband/hw/hns/hns_roce_srq.c | 85 +++++-
drivers/infiniband/hw/irdma/cm.c | 2 +-
drivers/infiniband/hw/irdma/cm.h | 2 +-
drivers/infiniband/hw/irdma/ctrl.c | 2 +-
drivers/infiniband/hw/irdma/defs.h | 2 +-
drivers/infiniband/hw/irdma/hmc.c | 2 +-
drivers/infiniband/hw/irdma/hmc.h | 2 +-
drivers/infiniband/hw/irdma/hw.c | 2 +-
drivers/infiniband/hw/irdma/i40iw_hw.c | 2 +-
drivers/infiniband/hw/irdma/i40iw_hw.h | 2 +-
drivers/infiniband/hw/irdma/i40iw_if.c | 4 +-
drivers/infiniband/hw/irdma/icrdma_hw.c | 2 +-
drivers/infiniband/hw/irdma/icrdma_hw.h | 2 +-
drivers/infiniband/hw/irdma/irdma.h | 2 +-
drivers/infiniband/hw/irdma/main.c | 2 +-
drivers/infiniband/hw/irdma/main.h | 2 +-
drivers/infiniband/hw/irdma/osdep.h | 2 +-
drivers/infiniband/hw/irdma/pble.c | 2 +-
drivers/infiniband/hw/irdma/pble.h | 2 +-
drivers/infiniband/hw/irdma/protos.h | 2 +-
drivers/infiniband/hw/irdma/puda.c | 2 +-
drivers/infiniband/hw/irdma/puda.h | 2 +-
drivers/infiniband/hw/irdma/trace.c | 2 +-
drivers/infiniband/hw/irdma/trace.h | 2 +-
drivers/infiniband/hw/irdma/trace_cm.h | 2 +-
drivers/infiniband/hw/irdma/type.h | 2 +-
drivers/infiniband/hw/irdma/uda.c | 2 +-
drivers/infiniband/hw/irdma/uda.h | 2 +-
drivers/infiniband/hw/irdma/uda_d.h | 2 +-
drivers/infiniband/hw/irdma/uk.c | 2 +-
drivers/infiniband/hw/irdma/user.h | 2 +-
drivers/infiniband/hw/irdma/utils.c | 2 +-
drivers/infiniband/hw/irdma/verbs.c | 234 +++++++++++++---
drivers/infiniband/hw/irdma/verbs.h | 4 +-
drivers/infiniband/hw/irdma/ws.c | 2 +-
drivers/infiniband/hw/irdma/ws.h | 2 +-
drivers/infiniband/hw/mlx5/mad.c | 13 +
drivers/infiniband/hw/mlx5/main.c | 12 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 21 +-
drivers/infiniband/hw/mlx5/mr.c | 326 ++++++++++------------
drivers/infiniband/hw/mlx5/qp.c | 29 +-
drivers/infiniband/hw/mlx5/umr.c | 4 +-
drivers/infiniband/hw/mthca/mthca_memfree.h | 2 +-
drivers/infiniband/hw/qib/qib_iba7322.c | 2 +-
drivers/infiniband/hw/usnic/usnic_uiom.h | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 12 +-
drivers/infiniband/sw/rdmavt/ah.c | 2 +-
drivers/infiniband/sw/rdmavt/ah.h | 2 +-
drivers/infiniband/sw/rdmavt/cq.c | 2 +-
drivers/infiniband/sw/rdmavt/cq.h | 2 +-
drivers/infiniband/sw/rdmavt/mad.c | 2 +-
drivers/infiniband/sw/rdmavt/mad.h | 2 +-
drivers/infiniband/sw/rdmavt/mcast.c | 2 +-
drivers/infiniband/sw/rdmavt/mcast.h | 2 +-
drivers/infiniband/sw/rdmavt/mmap.c | 2 +-
drivers/infiniband/sw/rdmavt/mmap.h | 2 +-
drivers/infiniband/sw/rdmavt/mr.c | 2 +-
drivers/infiniband/sw/rdmavt/mr.h | 2 +-
drivers/infiniband/sw/rdmavt/pd.c | 2 +-
drivers/infiniband/sw/rdmavt/pd.h | 2 +-
drivers/infiniband/sw/rdmavt/qp.c | 2 +-
drivers/infiniband/sw/rdmavt/qp.h | 2 +-
drivers/infiniband/sw/rdmavt/rc.c | 2 +-
drivers/infiniband/sw/rdmavt/srq.c | 2 +-
drivers/infiniband/sw/rdmavt/srq.h | 2 +-
drivers/infiniband/sw/rdmavt/trace.c | 2 +-
drivers/infiniband/sw/rdmavt/trace.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_cq.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_mr.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_qp.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_rc.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_rvt.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_tx.h | 2 +-
drivers/infiniband/sw/rdmavt/vt.c | 2 +-
drivers/infiniband/sw/rdmavt/vt.h | 2 +-
drivers/infiniband/sw/siw/iwarp.h | 2 +-
drivers/infiniband/sw/siw/siw.h | 4 +-
drivers/infiniband/sw/siw/siw_cm.c | 2 +-
drivers/infiniband/sw/siw/siw_cm.h | 2 +-
drivers/infiniband/sw/siw/siw_cq.c | 2 +-
drivers/infiniband/sw/siw/siw_main.c | 2 +-
drivers/infiniband/sw/siw/siw_mem.c | 2 +-
drivers/infiniband/sw/siw/siw_mem.h | 2 +-
drivers/infiniband/sw/siw/siw_qp.c | 2 +-
drivers/infiniband/sw/siw/siw_qp_rx.c | 2 +-
drivers/infiniband/sw/siw/siw_qp_tx.c | 2 +-
drivers/infiniband/sw/siw/siw_verbs.c | 2 +-
drivers/infiniband/sw/siw/siw_verbs.h | 2 +-
drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 2 +
drivers/infiniband/ulp/ipoib/ipoib_main.c | 3 +-
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 7 +-
drivers/infiniband/ulp/rtrs/rtrs.c | 2 +-
drivers/infiniband/ulp/srp/ib_srp.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/port.c | 3 +-
include/linux/mlx5/port.h | 3 +-
include/rdma/ib_mad.h | 2 +
include/rdma/ib_verbs.h | 8 +-
include/uapi/rdma/hns-abi.h | 12 +-
include/uapi/rdma/ib_user_ioctl_verbs.h | 3 +-
include/uapi/rdma/rdma_netlink.h | 4 +
include/uapi/rdma/siw-abi.h | 2 +-
194 files changed, 1178 insertions(+), 498 deletions(-)
(diffstat after merge)

Attachment: signature.asc
Description: PGP signature