As the possible failure of the devres_alloc(), the devm_ioremap() may
return NULL pointer.
And then, the 'clk_data->base' will be assigned to clkdev->data->base in
platform_device_register_data().
And the PTR_ERR_OR_ZERO() can not detect the 'base'.
Therefore, it should be better to add the check in order to guarantee
the success of the setup.
Fixes: 3f4ba94e3615 ("ACPI: APD: Add AMD misc clock handler support")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/acpi/acpi_apd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index 6e02448d15d9..9db6409ecb47 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -95,6 +95,8 @@ static int fch_misc_setup(struct apd_private_data *pdata)
resource_size(rentry->res));
break;
}
+ if (!clk_data->base)
+ return -ENOMEM;
acpi_dev_free_resource_list(&resource_list);
--
2.25.1
On Fri, Jan 7, 2022 at 4:35 AM Jiasheng Jiang <[email protected]> wrote:
>
> As the possible failure of the devres_alloc(), the devm_ioremap() may
> return NULL pointer.
> And then, the 'clk_data->base' will be assigned to clkdev->data->base in
> platform_device_register_data().
> And the PTR_ERR_OR_ZERO() can not detect the 'base'.
> Therefore, it should be better to add the check in order to guarantee
> the success of the setup.
>
> Fixes: 3f4ba94e3615 ("ACPI: APD: Add AMD misc clock handler support")
> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---
> drivers/acpi/acpi_apd.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
> index 6e02448d15d9..9db6409ecb47 100644
> --- a/drivers/acpi/acpi_apd.c
> +++ b/drivers/acpi/acpi_apd.c
> @@ -95,6 +95,8 @@ static int fch_misc_setup(struct apd_private_data *pdata)
> resource_size(rentry->res));
> break;
> }
> + if (!clk_data->base)
> + return -ENOMEM;
>
> acpi_dev_free_resource_list(&resource_list);
>
> --
Applied as 5.17-rc material with a rewritten changelog, thanks!