]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86/amd/pmf: Initialize and clean up `cb_mutex`
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 27 Feb 2025 17:03:06 +0000 (11:03 -0600)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 3 Mar 2025 10:48:22 +0000 (12:48 +0200)
`cb_mutex` was introduced in commit 9e0894d07072e ("platform/x86/amd/pmf:
Enable Custom BIOS Inputs for PMF-TA") to prevent conccurrent access for
BIOS inputs. It however isn't initialized and so on use it may lead to
a NULL pointer dereference.

Add code to initialize on probe and clean up on destroy.

Reported-by: Yijun Shen <Yijun.Shen@dell.com>
Cc: Richard Gong <richgong@amd.com>
Fixes: 9e0894d07072e ("platform/x86/amd/pmf: Enable Custom BIOS Inputs for PMF-TA")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-By: Yijun Shen <Yijun_Shen@Dell.com>
Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://lore.kernel.org/r/20250227170308.435862-1-superm1@kernel.org
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/amd/pmf/core.c

index 764cc1fe90ae430cedfb1a723b7c297f96f0ad46..a2cb2d5544f5b394fa22087bec618b11bba3281e 100644 (file)
@@ -452,6 +452,7 @@ static int amd_pmf_probe(struct platform_device *pdev)
 
        mutex_init(&dev->lock);
        mutex_init(&dev->update_mutex);
+       mutex_init(&dev->cb_mutex);
 
        apmf_acpi_init(dev);
        platform_set_drvdata(pdev, dev);
@@ -477,6 +478,7 @@ static void amd_pmf_remove(struct platform_device *pdev)
        amd_pmf_dbgfs_unregister(dev);
        mutex_destroy(&dev->lock);
        mutex_destroy(&dev->update_mutex);
+       mutex_destroy(&dev->cb_mutex);
        kfree(dev->buf);
 }