[SRU][R:linux-gcp][PATCH v3 0/9] Backport Linux 7.1-7.2 IRDMA patches to gcp 7.0

Ian Whitfield ian.whitfield at canonical.com
Fri Sep 11 19:29:36 UTC 2026


BugLink: https://bugs.launchpad.net/bugs/2165062

[Impact]

Google has requested a set of IRDMA patches applied since 7.0 to be backported
to the gcp kernel. These almost entirely constitute fixes, plus one hardware
enablement feature: f3cf74933c9ca ("RDMA/irdma: Add support for GEN4 hardware").

Follow-up cases to backport more irdma patches are expected soon.

[Fix]

This is the list of target patches to port to gcp 7.0:

3cda0dfe8c651 ("RDMA/irdma: Prevent overflows in memory contiguity checks")
d32fe5bb41883 ("RDMA/irdma: Prevent user-triggered null deref on QP create")
ed8621be482bf ("RDMA/irdma: Remove redundant legacy_mode checks")
d9c8c45e6d2f4 ("RDMA/irdma: Replace waitqueue and flag with completion")
1521d560b7a1a ("RDMA/irdma: Initialize iwmr->access during MR registration")
4385ddd654d90 ("RDMA/irdma: Fix OOB read during CQ MR registration")
5ebb3ed757be3 ("RDMA/irdma: Fix out-of-bounds write in irdma_copy_user_pgaddrs")
f3cf74933c9ca ("RDMA/irdma: Add support for GEN4 hardware")
9d6ba4ced7343 ("RDMA/irdma: Provide scratch buffers to firmware for internal use")
e37afcb56ae07 ("RDMA/irdma: Harden depth calculation functions")
7221f581eefa7 ("RDMA/irdma: Return EINVAL for invalid arp index error")
11a95521fb93c ("RDMA/irdma: Initialize free_qp completion before using it")
29a3edd7004bb ("RDMA/irdma: Fix double free related to rereg_user_mr")
959d2c356e32a ("RDMA/irdma: Use kvzalloc for paged memory DMA address array")
80351761facb6 ("RDMA/irdma: Simplify bool conversion")
da58d4223b169 ("RDMA/irdma: Take a lock before moving SRQ tail in poll_cq")
0a192745551cd ("RDMA/irdma: CQ size and shadow update changes for GEN3")
cd84d8001e544 ("RDMA/irdma: Silently consume unsignaled completions")
153243086eef1 ("RDMA/irdma: Initialize cqp_cmds_info to prevent resource leaks")
69e8e429bca2b ("RDMA/irdma: Enforce local fence for LOCAL_INV WRs")
74586c6da9ea2 ("RDMA/irdma: Fix kernel stack leak in irdma_create_user_ah()")
01dad9ca37c60 ("RDMA/irdma: Fix SRQ shadow area address initialization")
eef3ad030b08c ("RDMA/irdma: Do not set IBK_LOCAL_DMA_LKEY for GEN3+")

Of these, many were already present in 7.0, the 9 that remained were clean
cherry-picks.

v2 adds an additional fix that has just merged into the upstream rdma/rdma repo:
3fb905f07ea45 ("RDMA/irdma: Enforce local fence for IB_WR_REG_MR")
This fix is expected in a future rc of 7.3.

[Test Plan]

Patches were reviewed by Google and boot tested by us.

[Regression potential]

These patches all target RDMA/irdma, so regressions will be limited to
configurations using irdma. The majority of the changes are also fixes, which
should be relatively low risk compared to a large feature-add patchset.

Patches were all clean cherry-picks.

[Other]

SF: 00446874

v2: Added "RDMA/irdma: Enforce local fence for IB_WR_REG_MR" from the rdma/rdma
    tree
v3: Removed "RDMA/irdma: Replace waitqueue and flag with completion" because it
    was added via stable updates.

Aleksandrova Alyona (1):
  RDMA/irdma: Prevent overflows in memory contiguity checks

Jacob Moroni (7):
  RDMA/irdma: Add support for GEN4 hardware
  RDMA/irdma: Fix out-of-bounds write in irdma_copy_user_pgaddrs
  RDMA/irdma: Fix OOB read during CQ MR registration
  RDMA/irdma: Initialize iwmr->access during MR registration
  RDMA/irdma: Remove redundant legacy_mode checks
  RDMA/irdma: Prevent user-triggered null deref on QP create
  RDMA/irdma: Enforce local fence for IB_WR_REG_MR

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

 drivers/infiniband/hw/irdma/ctrl.c       | 44 +++++++++++++++++++-
 drivers/infiniband/hw/irdma/defs.h       |  4 ++
 drivers/infiniband/hw/irdma/hw.c         | 25 ++++++++++--
 drivers/infiniband/hw/irdma/ig3rdma_hw.c |  1 -
 drivers/infiniband/hw/irdma/irdma.h      |  1 +
 drivers/infiniband/hw/irdma/type.h       |  2 +
 drivers/infiniband/hw/irdma/uk.c         |  9 ++---
 drivers/infiniband/hw/irdma/user.h       |  5 +--
 drivers/infiniband/hw/irdma/verbs.c      | 51 ++++++++++++------------
 drivers/infiniband/hw/irdma/verbs.h      |  1 -
 10 files changed, 102 insertions(+), 41 deletions(-)

-- 
2.43.0




More information about the kernel-team mailing list