summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/irdma/type.h
diff options
context:
space:
mode:
authorChristopher Bednarz <christopher.n.bednarz@intel.com>2023-08-18 17:48:38 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-13 10:42:56 +0300
commitf01cfec8d3456bf389918eb898eda11f46d8b1b7 (patch)
treeab44adc4f378c1fe5e3f6dee78a9ebc04e192c23 /drivers/infiniband/hw/irdma/type.h
parent5fa1552877ce2b692781672a5f53bb76b8bd49f8 (diff)
downloadlinux-f01cfec8d3456bf389918eb898eda11f46d8b1b7.tar.xz
RDMA/irdma: Prevent zero-length STAG registration
[ Upstream commit bb6d73d9add68ad270888db327514384dfa44958 ] Currently irdma allows zero-length STAGs to be programmed in HW during the kernel mode fast register flow. Zero-length MR or STAG registration disable HW memory length checks. Improve gaps in bounds checking in irdma by preventing zero-length STAG or MR registrations except if the IB_PD_UNSAFE_GLOBAL_RKEY is set. This addresses the disclosure CVE-2023-25775. Fixes: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs") Signed-off-by: Christopher Bednarz <christopher.n.bednarz@intel.com> Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com> Link: https://lore.kernel.org/r/20230818144838.1758-1-shiraz.saleem@intel.com Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/infiniband/hw/irdma/type.h')
-rw-r--r--drivers/infiniband/hw/irdma/type.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/irdma/type.h b/drivers/infiniband/hw/irdma/type.h
index d6cb94dc744c..1c7cbf7c67be 100644
--- a/drivers/infiniband/hw/irdma/type.h
+++ b/drivers/infiniband/hw/irdma/type.h
@@ -1015,6 +1015,7 @@ struct irdma_allocate_stag_info {
bool remote_access:1;
bool use_hmc_fcn_index:1;
bool use_pf_rid:1;
+ bool all_memory:1;
u8 hmc_fcn_index;
};
@@ -1042,6 +1043,7 @@ struct irdma_reg_ns_stag_info {
bool use_hmc_fcn_index:1;
u8 hmc_fcn_index;
bool use_pf_rid:1;
+ bool all_memory:1;
};
struct irdma_fast_reg_stag_info {