linux/drivers/infiniband/hw/irdma
Christopher Bednarz bb6d73d9ad RDMA/irdma: Prevent zero-length STAG registration
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: b48c24c2d7 ("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>
2023-08-19 19:28:17 +03:00
..
cm.c RDMA/irdma: Cleanup and rename irdma_netdev_vlan_ipv6() 2023-07-26 15:05:36 +03:00
cm.h RDMA/irdma: Increase iWARP CM default rexmit count 2023-03-19 11:37:56 +02:00
ctrl.c RDMA/irdma: Prevent zero-length STAG registration 2023-08-19 19:28:17 +03:00
defs.h RDMA/irdma: Refactor HW statistics 2023-03-19 11:36:03 +02:00
hmc.c RDMA/irdma: Remove enum irdma_status_code 2022-02-23 15:24:18 -04:00
hmc.h RDMA/irdma: Remove enum irdma_status_code 2022-02-23 15:24:18 -04:00
hw.c RDMA/irdma: Fix one kernel-doc comment 2023-07-31 10:38:53 +03:00
i40iw_hw.c RDMA/irdma: Use HW specific minimum WQ size 2023-07-30 15:43:00 +03:00
i40iw_hw.h RDMA/irdma: Use HW specific minimum WQ size 2023-07-30 15:43:00 +03:00
i40iw_if.c RDMA/irdma: Fix Passthrough mode in VM 2022-02-28 12:07:40 -04:00
icrdma_hw.c RDMA/irdma: Use HW specific minimum WQ size 2023-07-30 15:43:00 +03:00
icrdma_hw.h RDMA/irdma: Use HW specific minimum WQ size 2023-07-30 15:43:00 +03:00
irdma.h RDMA/irdma: Use HW specific minimum WQ size 2023-07-30 15:43:00 +03:00
Kconfig RDMA/irdma: Use correct kconfig symbol for AUXILIARY_BUS 2021-08-19 10:28:49 -03:00
main.c RDMA/irdma: Add support for address handle re-use 2022-03-15 16:22:55 -03:00
main.h RDMA/irdma: Replace one-element array with flexible-array member 2023-08-03 21:11:18 +03:00
Makefile RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw 2021-06-02 20:06:36 -03:00
osdep.h RDMA/irdma: Remove enum irdma_status_code 2022-02-23 15:24:18 -04:00
pble.c RDMA/irdma: Refactor PBLE functions 2023-03-19 11:36:33 +02:00
pble.h RDMA/irdma: Refactor PBLE functions 2023-03-19 11:36:33 +02:00
protos.h RDMA/irdma: Refactor HW statistics 2023-03-19 11:36:03 +02:00
puda.c RDMA/irdma: Remove the redundant variable 2022-04-04 10:50:24 -03:00
puda.h RDMA/irdma: Remove enum irdma_status_code 2022-02-23 15:24:18 -04:00
trace_cm.h RDMA: Constify netdev->dev_addr accesses 2021-10-25 14:33:09 -03:00
trace.c RDMA/irdma: Add dynamic tracing for CM 2021-06-02 19:55:19 -03:00
trace.h RDMA/irdma: Add dynamic tracing for CM 2021-06-02 19:55:19 -03:00
type.h RDMA/irdma: Prevent zero-length STAG registration 2023-08-19 19:28:17 +03:00
uda_d.h RDMA/irdma: Add RoCEv2 UD OP support 2021-06-02 19:55:18 -03:00
uda.c RDMA/irdma: Make irdma_create_mg_ctx return a void 2022-02-28 11:32:42 -04:00
uda.h RDMA/irdma: Remove enum irdma_status_code 2022-02-23 15:24:18 -04:00
uk.c RDMA/irdma: Drop unused kernel push code 2023-08-16 09:24:52 +03:00
user.h RDMA/irdma: Drop unused kernel push code 2023-08-16 09:24:52 +03:00
utils.c RDMA/irdma: Add table based lookup for CQ pointer during an event 2023-07-26 15:05:36 +03:00
verbs.c RDMA/irdma: Prevent zero-length STAG registration 2023-08-19 19:28:17 +03:00
verbs.h RDMA/irdma: Allow accurate reporting on QP max send/recv WR 2023-07-30 15:43:00 +03:00
ws.c RDMA/irdma: Remove enum irdma_status_code 2022-02-23 15:24:18 -04:00
ws.h RDMA/irdma: Remove enum irdma_status_code 2022-02-23 15:24:18 -04:00