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)