linux/drivers/infiniband/hw/ionic
Jason Gunthorpe faa72102b1 RDMA/ionic: Fix kernel stack leak in ionic_create_cq()
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>
2026-02-24 05:03:15 -05:00
..
ionic_admin.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
ionic_controlpath.c RDMA/ionic: Fix kernel stack leak in ionic_create_cq() 2026-02-24 05:03:15 -05:00
ionic_datapath.c RDMA/ionic: Register device ops for datapath 2025-09-11 02:18:36 -04:00
ionic_fw.h RDMA/ionic: Implement device stats ops 2025-09-11 02:18:36 -04:00
ionic_hw_stats.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
ionic_ibdev.c RDMA/ionic: Fix potential NULL pointer dereference in ionic_query_port 2026-02-24 04:54:10 -05:00
ionic_ibdev.h RDMA/ionic: Fix build failure on SPARC due to xchg() operand size 2025-09-21 07:30:37 -04:00
ionic_lif_cfg.c RDMA/ionic: Register device ops for miscellaneous functionality 2025-09-11 02:18:36 -04:00
ionic_lif_cfg.h RDMA/ionic: Register device ops for miscellaneous functionality 2025-09-11 02:18:36 -04:00
ionic_pgtbl.c RDMA/ionic: Register device ops for datapath 2025-09-11 02:18:36 -04:00
ionic_queue.c
ionic_queue.h
ionic_res.h
Kconfig RDMA/ionic: Add Makefile/Kconfig to kernel build environment 2025-09-11 02:18:36 -04:00
Makefile RDMA/ionic: Add Makefile/Kconfig to kernel build environment 2025-09-11 02:18:36 -04:00