2024-02-26 15:05:21

by Harshit Mogalapalli

[permalink] [raw]
Subject: [PATCH] platform/x86/amd/pmf: Fix missing error code in amd_pmf_init_smart_pc()

On the error path, assign -ENOMEM to ret when memory allocation of
"dev->prev_data" fails.

Fixes: e70961505808 ("platform/x86/amd/pmf: Fixup error handling for amd_pmf_init_smart_pc()")
Signed-off-by: Harshit Mogalapalli <[email protected]>
---
This is based on static analysis with smatch, only compile tested
---
drivers/platform/x86/amd/pmf/tee-if.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
index 8527dca9cf56..dcbe8f85e122 100644
--- a/drivers/platform/x86/amd/pmf/tee-if.c
+++ b/drivers/platform/x86/amd/pmf/tee-if.c
@@ -458,8 +458,10 @@ int amd_pmf_init_smart_pc(struct amd_pmf_dev *dev)
amd_pmf_hex_dump_pb(dev);

dev->prev_data = kzalloc(sizeof(*dev->prev_data), GFP_KERNEL);
- if (!dev->prev_data)
+ if (!dev->prev_data) {
+ ret = -ENOMEM;
goto error;
+ }

ret = amd_pmf_start_policy_engine(dev);
if (ret)
--
2.39.3



2024-02-26 15:10:10

by Ilpo Järvinen

[permalink] [raw]
Subject: Re: [PATCH] platform/x86/amd/pmf: Fix missing error code in amd_pmf_init_smart_pc()

On Mon, 26 Feb 2024, Harshit Mogalapalli wrote:

> On the error path, assign -ENOMEM to ret when memory allocation of
> "dev->prev_data" fails.
>
> Fixes: e70961505808 ("platform/x86/amd/pmf: Fixup error handling for amd_pmf_init_smart_pc()")
> Signed-off-by: Harshit Mogalapalli <[email protected]>
> ---
> This is based on static analysis with smatch, only compile tested
> ---
> drivers/platform/x86/amd/pmf/tee-if.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
> index 8527dca9cf56..dcbe8f85e122 100644
> --- a/drivers/platform/x86/amd/pmf/tee-if.c
> +++ b/drivers/platform/x86/amd/pmf/tee-if.c
> @@ -458,8 +458,10 @@ int amd_pmf_init_smart_pc(struct amd_pmf_dev *dev)
> amd_pmf_hex_dump_pb(dev);
>
> dev->prev_data = kzalloc(sizeof(*dev->prev_data), GFP_KERNEL);
> - if (!dev->prev_data)
> + if (!dev->prev_data) {
> + ret = -ENOMEM;
> goto error;
> + }
>
> ret = amd_pmf_start_policy_engine(dev);
> if (ret)
>

Reviewed-by: Ilpo J?rvinen <[email protected]>

--
i.

2024-02-26 15:35:56

by Mario Limonciello

[permalink] [raw]
Subject: Re: [PATCH] platform/x86/amd/pmf: Fix missing error code in amd_pmf_init_smart_pc()

On 2/26/2024 08:53, Ilpo Järvinen wrote:
> On Mon, 26 Feb 2024, Harshit Mogalapalli wrote:
>
>> On the error path, assign -ENOMEM to ret when memory allocation of
>> "dev->prev_data" fails.
>>
>> Fixes: e70961505808 ("platform/x86/amd/pmf: Fixup error handling for amd_pmf_init_smart_pc()")
>> Signed-off-by: Harshit Mogalapalli <[email protected]>
>> ---
>> This is based on static analysis with smatch, only compile tested
>> ---
>> drivers/platform/x86/amd/pmf/tee-if.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
>> index 8527dca9cf56..dcbe8f85e122 100644
>> --- a/drivers/platform/x86/amd/pmf/tee-if.c
>> +++ b/drivers/platform/x86/amd/pmf/tee-if.c
>> @@ -458,8 +458,10 @@ int amd_pmf_init_smart_pc(struct amd_pmf_dev *dev)
>> amd_pmf_hex_dump_pb(dev);
>>
>> dev->prev_data = kzalloc(sizeof(*dev->prev_data), GFP_KERNEL);
>> - if (!dev->prev_data)
>> + if (!dev->prev_data) {
>> + ret = -ENOMEM;
>> goto error;
>> + }
>>
>> ret = amd_pmf_start_policy_engine(dev);
>> if (ret)
>>
>
> Reviewed-by: Ilpo Järvinen <[email protected]>
>

Thanks for the patch!

Reviewed-by: Mario Limonciello <[email protected]>


2024-03-04 16:57:42

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH] platform/x86/amd/pmf: Fix missing error code in amd_pmf_init_smart_pc()

Hi,

On 2/26/24 15:40, Harshit Mogalapalli wrote:
> On the error path, assign -ENOMEM to ret when memory allocation of
> "dev->prev_data" fails.
>
> Fixes: e70961505808 ("platform/x86/amd/pmf: Fixup error handling for amd_pmf_init_smart_pc()")
> Signed-off-by: Harshit Mogalapalli <[email protected]>

Thank you for your patch/series, I've applied this patch
(series) to my review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in the pdx86 review-hans branch once I've
pushed my local branch there, which might take a while.

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans




> ---
> This is based on static analysis with smatch, only compile tested
> ---
> drivers/platform/x86/amd/pmf/tee-if.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
> index 8527dca9cf56..dcbe8f85e122 100644
> --- a/drivers/platform/x86/amd/pmf/tee-if.c
> +++ b/drivers/platform/x86/amd/pmf/tee-if.c
> @@ -458,8 +458,10 @@ int amd_pmf_init_smart_pc(struct amd_pmf_dev *dev)
> amd_pmf_hex_dump_pb(dev);
>
> dev->prev_data = kzalloc(sizeof(*dev->prev_data), GFP_KERNEL);
> - if (!dev->prev_data)
> + if (!dev->prev_data) {
> + ret = -ENOMEM;
> goto error;
> + }
>
> ret = amd_pmf_start_policy_engine(dev);
> if (ret)