]> www.infradead.org Git - users/hch/misc.git/commitdiff
mailbox: zynqmp-ipi: Fix out-of-bounds access in mailbox cleanup loop
authorHarini T <harini.t@amd.com>
Mon, 29 Sep 2025 07:37:22 +0000 (13:07 +0530)
committerJassi Brar <jassisinghbrar@gmail.com>
Mon, 6 Oct 2025 23:14:00 +0000 (18:14 -0500)
The cleanup loop was starting at the wrong array index, causing
out-of-bounds access.
Start the loop at the correct index for zero-indexed arrays to prevent
accessing memory beyond the allocated array bounds.

Fixes: 4981b82ba2ff ("mailbox: ZynqMP IPI mailbox controller")
Signed-off-by: Harini T <harini.t@amd.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
drivers/mailbox/zynqmp-ipi-mailbox.c

index bdcc6937ee30932e6b471fc8c0a2cb04221e4542..dddbef6b2cb8f55fd887541ffc9590c4c96ca3fe 100644 (file)
@@ -890,7 +890,7 @@ static void zynqmp_ipi_free_mboxes(struct zynqmp_ipi_pdata *pdata)
        if (pdata->irq < MAX_SGI)
                xlnx_mbox_cleanup_sgi(pdata);
 
-       i = pdata->num_mboxes;
+       i = pdata->num_mboxes - 1;
        for (; i >= 0; i--) {
                ipi_mbox = &pdata->ipi_mboxes[i];
                if (device_is_registered(&ipi_mbox->dev))