mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 10:11:38 -04:00
EDAC/versalnet: Fix memory leak in remove and probe error paths
The mcdi object allocated using kzalloc() in the setup_mcdi() is not freed in
the remove path or in probe's error handling path leading to a memory leak.
Fix it by freeing the allocated memory.
Fixes: d5fe2fec6c ("EDAC: Add a driver for the AMD Versal NET DDR controller")
Signed-off-by: Prasanna Kumar T S M <ptsm@linux.microsoft.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260322131139.1684716-1-ptsm@linux.microsoft.com
This commit is contained in:
committed by
Borislav Petkov (AMD)
parent
fbe230a9a7
commit
1b6f292cb9
@@ -937,6 +937,7 @@ static int mc_probe(struct platform_device *pdev)
|
||||
|
||||
err_init:
|
||||
cdx_mcdi_finish(priv->mcdi);
|
||||
kfree(priv->mcdi);
|
||||
|
||||
err_unreg:
|
||||
unregister_rpmsg_driver(&amd_rpmsg_driver);
|
||||
@@ -958,6 +959,7 @@ static void mc_remove(struct platform_device *pdev)
|
||||
remove_versalnet(priv);
|
||||
rproc_shutdown(priv->mcdi->r5_rproc);
|
||||
cdx_mcdi_finish(priv->mcdi);
|
||||
kfree(priv->mcdi);
|
||||
}
|
||||
|
||||
static const struct of_device_id amd_edac_match[] = {
|
||||
|
||||
Reference in New Issue
Block a user