]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/irdma: Initialize iwmr->access during MR registration
authorJacob Moroni <jmoroni@google.com>
Thu, 4 Jun 2026 15:41:04 +0000 (15:41 +0000)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 5 Jun 2026 17:09:29 +0000 (14:09 -0300)
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>
drivers/infiniband/hw/irdma/verbs.c

index 231b2854bb146120b945c24e9c7439a2191b1434..b79f5afe68e5b8adb4bc922c4d81a6c0fc03a370 100644 (file)
@@ -3306,6 +3306,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)