]> git.hungrycats.org Git - linux/commit
RDMA: During rereg_mr ensure that REREG_ACCESS is compatible
authorJason Gunthorpe <jgg@nvidia.com>
Thu, 4 Jun 2026 18:03:13 +0000 (15:03 -0300)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 8 Jun 2026 16:39:20 +0000 (13:39 -0300)
commitbadad6fad60def1b9805559dd81dbab3d97b82aa
treea2741f7f3cce228316e7801ef5e996a78da8862a
parent323c98a4ff06aa28114f2bf658fb43eb3b536bbc
RDMA: During rereg_mr ensure that REREG_ACCESS is compatible

If IB_MR_REREG_ACCESS changes from RO to RW then the umem has to be
re-evaluated to ensure it is properly pinned as RW. Since the umem is
hidden inside each driver's mr struct add a ib_umem_check_rereg() function
that each driver has to call before processing IB_MR_REREG_ACCESS.

mlx4 has to retain its duplicate ib_access_writable check because it
implements IB_MR_REREG_ACCESS | IB_MR_REREG_TRANS by changing both items
in place sequentially while the MR is live, so it will continue to not
support this combination.

Cc: stable@vger.kernel.org
Fixes: b40656aa7d55 ("RDMA/umem: remove FOLL_FORCE usage")
Link: https://patch.msgid.link/r/0-v1-06fb1a2d6cf5+107-rereg_access_jgg@nvidia.com
Reported-by: Philip Tsukerman <philiptsukerman@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/umem.c
drivers/infiniband/hw/hns/hns_roce_mr.c
drivers/infiniband/hw/irdma/verbs.c
drivers/infiniband/hw/mlx4/mr.c
drivers/infiniband/hw/mlx5/mr.c
drivers/infiniband/sw/rxe/rxe_verbs.c
include/rdma/ib_umem.h