linux/drivers/infiniband/hw
Jason Gunthorpe a6f3e0fa8e RDMA/ionic: Fix kernel stack leak in ionic_create_cq()
commit faa72102b1 upstream.

struct ionic_cq_resp resp {
    __u32 cqid[2];         // offset 0 - PARTIALLY SET (see below)
    __u8  udma_mask;       // offset 8 - SET (resp.udma_mask = vcq->udma_mask)
    __u8  rsvd[7];         // offset 9 - NEVER SET <- LEAK
};

rsvd[7]: 7 bytes of stack memory leaked unconditionally.

cqid[2]: The loop at line 1256 iterates over udma_idx but skips indices
where !(vcq->udma_mask & BIT(udma_idx)). The array has 2 entries but
udma_count could be 1, meaning cqid[1] might never be written via
ionic_create_cq_common(). If udma_mask only has bit 0 set, cqid[1] (4
bytes) is also leaked. So potentially 11 bytes leaked.

Cc: stable@vger.kernel.org
Fixes: e8521822c7 ("RDMA/ionic: Register device ops for control path")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://patch.msgid.link/4-v1-83e918d69e73+a9-rdma_udata_rc_jgg@nvidia.com
Acked-by: Abhijit Gangurde <abhijit.gangurde@amd.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-03-12 07:09:40 -04:00
..
bnxt_re RDMA/bnxt_re: fix dma_free_coherent() pointer 2026-01-08 10:16:52 +01:00
cxgb4 RDMA: Use %pe format specifier for error pointers 2025-09-21 07:34:49 -04:00
efa RDMA/efa: Fix typo in efa_alloc_mr() 2026-03-04 07:20:49 -05:00
erdma RDMA v6.18 merge window pull request 2025-10-03 18:35:22 -07:00
hfi1 RDMA: Use %pe format specifier for error pointers 2025-09-21 07:34:49 -04:00
hns RDMA/hns: Notify ULP of remaining soft-WCs during reset 2026-02-26 14:59:23 -08:00
ionic RDMA/ionic: Fix kernel stack leak in ionic_create_cq() 2026-03-12 07:09:40 -04:00
irdma RDMA/irdma: Fix kernel stack leak in irdma_create_user_ah() 2026-03-12 07:09:40 -04:00
mana RDMA/mana_ib: check cqe length for kernel CQs 2026-01-08 10:16:49 +01:00
mlx4 RDMA: Use %pe format specifier for error pointers 2025-09-21 07:34:49 -04:00
mlx5 RDMA/mlx5: Fix memory leak in GET_DATA_DIRECT_SYSFS_PATH handler 2026-02-26 14:59:26 -08:00
mthca IB/mthca: Add missed mthca_unmap_user_db() for mthca_create_srq() 2026-03-12 07:09:40 -04:00
ocrdma IB: Extend UVERBS_METHOD_REG_MR to get DMAH 2025-07-23 01:42:11 -04:00
qedr IB: Extend UVERBS_METHOD_REG_MR to get DMAH 2025-07-23 01:42:11 -04:00
usnic IB: Extend UVERBS_METHOD_REG_MR to get DMAH 2025-07-23 01:42:11 -04:00
vmw_pvrdma IB: Extend UVERBS_METHOD_REG_MR to get DMAH 2025-07-23 01:42:11 -04:00
Makefile RDMA/ionic: Add Makefile/Kconfig to kernel build environment 2025-09-11 02:18:36 -04:00