drivers/platform/x86/amd: pmf: Check for invalid sideloaded Smart PC Policies

JIRA: https://issues.redhat.com/browse/RHEL-105420

commit 690d722e02819ef978f90cd7553973eba1007e6c
Author: Mario Limonciello <mario.limonciello@amd.com>
Date:   Wed Apr 23 08:18:44 2025 -0500

    drivers/platform/x86/amd: pmf: Check for invalid sideloaded Smart PC Policies

    If a policy is passed into amd_pmf_get_pb_data() that causes the engine
    to fail to start there is a memory leak. Free the memory in this failure
    path.

    Fixes: 10817f28e5337 ("platform/x86/amd/pmf: Add capability to sideload of policy binary")
    Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
    Link: https://lore.kernel.org/r/20250423132002.3984997-2-superm1@kernel.org
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Signed-off-by: David Arcari <darcari@redhat.com>
This commit is contained in:
David Arcari 2025-09-18 15:18:13 -04:00
parent 3d14cdce0c
commit b00a640d77
1 changed files with 6 additions and 1 deletions

View File

@ -364,9 +364,14 @@ static ssize_t amd_pmf_get_pb_data(struct file *filp, const char __user *buf,
amd_pmf_hex_dump_pb(dev);
ret = amd_pmf_start_policy_engine(dev);
if (ret < 0)
return ret;
goto cleanup;
return length;
cleanup:
kfree(dev->policy_buf);
dev->policy_buf = NULL;
return ret;
}
static const struct file_operations pb_fops = {