Hi Linus, This is an unusually large bunch of bug fixes for the later rc cycle, rxe and mlx5 both dumped a lot of things at once. rxe continues to fix itself, and mlx5 is fixing a bunch of "queue counters" related bugs. There is one highly notable bug fix regarding the qkey. This small security check was missed in the original 2005 implementation and it allows some significant issues. Thanks, Jason The following changes since commit 5842d1d9c1b0d17e0c29eae65ae1f245f83682dd: RDMA/irdma: Fix Local Invalidate fencing (2023-05-29 14:06:29 -0300) 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 0c7e314a6352664e12ec465f576cf039e95f8369: RDMA/rxe: Fix rxe_cq_post (2023-06-14 14:12:43 -0300) ---------------------------------------------------------------- v6.4 second rc RDMA pull request Many rc bug fixes: - Two rtrs bug fixes for error unwind bugs - Several rxe bug fixes: * Incorrect Rx packet validation * Using memory without a refcount * Syzkaller found use before initialization * Regression fix for missing locking with the tasklet conversion from this merge window - Have bnxt report the correct link properties to userspace, this was a regression in v6.3 - Several mlx5 bug fixes: * Kernel crash triggerable by userspace for the RAW ethernet profile * Defend against steering refcounting issues created by userspace * Incorrect change of QP port affinity parameters in some LAG configurations - Fix mlx5 Q counters: * Do not over allocate Q counters to allow userspace to use the full port capacity * Kernel crash triggered by eswitch due to mis-use of Q counters * Incorrect mlx5_device for Q counters in some LAG configurations - Properly implement the IBA spec restricting privileged qkeys to root - Always an error when reading from a disassociated device's event queue - isert bug fixes: * Avoid a deadlock with the CM handler and CM ID destruction * Correct list corruption due to incorrect locking * Fix a use after free around connection tear down ---------------------------------------------------------------- Bob Pearson (3): RDMA/rxe: Fix packet length checks RDMA/rxe: Fix ref count error in check_rkey() RDMA/rxe: Fix rxe_cq_post Edward Srouji (1): RDMA/uverbs: Restrict usage of privileged QKEYs Kamal Heib (1): RDMA/bnxt_re: Fix reporting active_{speed,width} attributes Li Zhijian (2): RDMA/rtrs: Fix the last iu->buf leak in err path RDMA/rtrs: Fix rxe_dealloc_pd warning Maher Sanalla (1): RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions Mark Bloch (2): RDMA/mlx5: Create an indirect flow table for steering anchor RDMA/mlx5: Fix affinity assignment Mark Zhang (1): RDMA/cma: Always set static rate to 0 for RoCE Patrisious Haddad (3): RDMA/mlx5: Fix Q-counters per vport allocation RDMA/mlx5: Remove vport Q-counters dependency on normal Q-counters RDMA/mlx5: Fix Q-counters query in LAG mode Saravanan Vajravel (3): IB/isert: Fix dead lock in ib_isert IB/isert: Fix possible list corruption in CMA handler IB/isert: Fix incorrect release of isert connection Yishai Hadas (1): IB/uverbs: Fix to consider event queue closing also upon non-blocking mode Zhu Yanjun (1): RDMA/rxe: Fix the use-before-initialization error of resp_pkts drivers/infiniband/core/cma.c | 4 +- drivers/infiniband/core/uverbs_cmd.c | 7 +- drivers/infiniband/core/uverbs_main.c | 12 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 - drivers/infiniband/hw/bnxt_re/ib_verbs.c | 7 +- drivers/infiniband/hw/bnxt_re/main.c | 2 - drivers/infiniband/hw/mlx5/counters.c | 89 +++++-- drivers/infiniband/hw/mlx5/fs.c | 276 ++++++++++++++++++++- drivers/infiniband/hw/mlx5/fs.h | 16 ++ drivers/infiniband/hw/mlx5/main.c | 3 + drivers/infiniband/hw/mlx5/mlx5_ib.h | 14 ++ drivers/infiniband/hw/mlx5/qp.c | 3 + drivers/infiniband/sw/rxe/rxe_cq.c | 4 +- drivers/infiniband/sw/rxe/rxe_net.c | 6 + drivers/infiniband/sw/rxe/rxe_qp.c | 7 +- drivers/infiniband/sw/rxe/rxe_resp.c | 3 +- drivers/infiniband/ulp/isert/ib_isert.c | 16 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 55 ++-- drivers/infiniband/ulp/rtrs/rtrs.c | 4 +- .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 12 - include/linux/mlx5/driver.h | 12 + include/rdma/ib_addr.h | 23 -- 22 files changed, 447 insertions(+), 130 deletions(-)