]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
RDMA/irdma: Prevent rereg_mr for non-mem regions
authorJacob Moroni <jmoroni@google.com>
Wed, 17 Jun 2026 14:19:36 +0000 (14:19 +0000)
committerLeon Romanovsky <leon@kernel.org>
Thu, 2 Jul 2026 12:03:38 +0000 (08:03 -0400)
commita846aecb931b4d65d5eafa92a0623545af46d4f2
tree2155ad3daccf6c3552aa9621a482e42bb71bdf3a
parent18313833e2c6de222a4f6c072da759d0d5888528
RDMA/irdma: Prevent rereg_mr for non-mem regions

When a QP/CQ/SRQ is created, a two step process is used
where the buffer is allocated in userspace and explicitly
registered with the normal reg_mr mechanism prior to creating
the actual QP/CQ/SRQ object.

These special registrations are indicated via an ABI field
so the driver knows that they do not have a valid mkey and
to skip the actual CQP command submission.

Since these are real MR objects from the core's perspective,
it is possible for a user application to invoke rereg_mr on them
and cause a real CQP op to be emitted with the zero-initialized
mkey value of 0.

Fix this by preventing rereg_mr on these special regions.

Fixes: 5ac388db27c4 ("RDMA/irdma: Add support to re-register a memory region")
Signed-off-by: Jacob Moroni <jmoroni@google.com>
Reviewed-by: David Hu <xuehaohu@google.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/irdma/verbs.c