]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86: intel: punit_ipc: fix memory corruption
authorDan Carpenter <dan.carpenter@linaro.org>
Fri, 21 Nov 2025 17:51:28 +0000 (20:51 +0300)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 24 Nov 2025 13:03:22 +0000 (15:03 +0200)
This passes the address of the pointer "&punit_ipcdev" when the intent
was to pass the pointer itself "punit_ipcdev" (without the ampersand).
This means that the:

complete(&ipcdev->cmd_complete);

in intel_punit_ioc() will write to a wrong memory address corrupting it.

Fixes: fdca4f16f57d ("platform:x86: add Intel P-Unit mailbox IPC driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/aSCmoBipSQ_tlD-D@stanley.mountain
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel/punit_ipc.c

index bafac8aa2baf603492d1a77444721fbba674e4a0..14513010daadf4a2c8b7088944d063aae4cebe58 100644 (file)
@@ -250,7 +250,7 @@ static int intel_punit_ipc_probe(struct platform_device *pdev)
        } else {
                ret = devm_request_irq(&pdev->dev, irq, intel_punit_ioc,
                                       IRQF_NO_SUSPEND, "intel_punit_ipc",
-                                      &punit_ipcdev);
+                                      punit_ipcdev);
                if (ret) {
                        dev_err(&pdev->dev, "Failed to request irq: %d\n", irq);
                        return ret;