drivers/platform/x86/amd: pmf: Check for invalid sideloaded Smart PC Policies
[ Upstream commit 690d722e02819ef978f90cd7553973eba1007e6c ]
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: 10817f28e5 ("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: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
10d1496f85
commit
5022d7a392
@@ -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);
|
amd_pmf_hex_dump_pb(dev);
|
||||||
ret = amd_pmf_start_policy_engine(dev);
|
ret = amd_pmf_start_policy_engine(dev);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
goto cleanup;
|
||||||
|
|
||||||
return length;
|
return length;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
kfree(dev->policy_buf);
|
||||||
|
dev->policy_buf = NULL;
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct file_operations pb_fops = {
|
static const struct file_operations pb_fops = {
|
||||||
|
|||||||
Reference in New Issue
Block a user