diff mbox series

[SRU,R:linux-gcp,5/9] RDMA/irdma: Initialize iwmr->access during MR registration

Message ID 20260828203155.75778-6-ian.whitfield@canonical.com
State New
Headers show
Series Backport Linux 7.1-7.2 IRDMA patches to gcp 7.0 | expand

Commit Message

Ian Whitfield Aug. 28, 2026, 8:31 p.m. UTC
From: Jacob Moroni <jmoroni@google.com>

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

Initialize iwmr->access during initial user mem registration so
that it contains a valid value during a subsequent rereg_mr.

Otherwise, a rereg_mr that doesn't set IB_MR_REREG_ACCESS (for
example, one that only changes the PD) ends up clearing the
access flags in HW since iwmr->access is zero-initialized, which
is not intended.

Fixes: 5ac388db27c4 ("RDMA/irdma: Add support to re-register a memory region")
Link: https://patch.msgid.link/r/20260604154104.4035581-1-jmoroni@google.com
Signed-off-by: Jacob Moroni <jmoroni@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
(cherry picked from commit 1521d560b7a1a39e437d37fffd9b55435d329ad1)
Signed-off-by: Ian Whitfield <ian.whitfield@canonical.com>
---
 drivers/infiniband/hw/irdma/verbs.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c
index 6c8666d865a1d..1caf416a85027 100644
--- a/drivers/infiniband/hw/irdma/verbs.c
+++ b/drivers/infiniband/hw/irdma/verbs.c
@@ -3323,6 +3323,7 @@  static int irdma_reg_user_mr_type_mem(struct irdma_mr *iwmr, int access,
 	int err;
 
 	lvl = iwmr->page_cnt != 1 ? PBLE_LEVEL_1 | PBLE_LEVEL_2 : PBLE_LEVEL_0;
+	iwmr->access = access;
 
 	err = irdma_setup_pbles(iwdev->rf, iwmr, lvl);
 	if (err)