diff mbox series

acpi: check for null return of devm_kzalloc in fch_misc_setup

Message ID 20230226055427.2512453-1-void0red@gmail.com
State Accepted
Commit 4dea41775d951ff1f7b472a346a8ca3ae7e74455
Headers show
Series acpi: check for null return of devm_kzalloc in fch_misc_setup | expand

Commit Message

void0red Feb. 26, 2023, 5:54 a.m. UTC
devm_kzalloc may fail, clk_data->name might be null and will
cause illegal address access later.

Signed-off-by: Kang Chen <void0red@gmail.com>
---
 drivers/acpi/acpi_apd.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Rafael J. Wysocki March 20, 2023, 5:06 p.m. UTC | #1
On Sun, Feb 26, 2023 at 6:54 AM Kang Chen <void0red@gmail.com> wrote:
>
> devm_kzalloc may fail, clk_data->name might be null and will
> cause illegal address access later.
>
> Signed-off-by: Kang Chen <void0red@gmail.com>
> ---
>  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 3bbe2276c..80f945cbe 100644
> --- a/drivers/acpi/acpi_apd.c
> +++ b/drivers/acpi/acpi_apd.c
> @@ -83,6 +83,8 @@ static int fch_misc_setup(struct apd_private_data *pdata)
>         if (!acpi_dev_get_property(adev, "clk-name", ACPI_TYPE_STRING, &obj)) {
>                 clk_data->name = devm_kzalloc(&adev->dev, obj->string.length,
>                                               GFP_KERNEL);
> +               if (!clk_data->name)
> +                       return -ENOMEM;
>
>                 strcpy(clk_data->name, obj->string.pointer);
>         } else {
> --

Applied as 6.4 material with some edits in the subject and changelog, thanks!
diff mbox series

Patch

diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index 3bbe2276c..80f945cbe 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -83,6 +83,8 @@  static int fch_misc_setup(struct apd_private_data *pdata)
 	if (!acpi_dev_get_property(adev, "clk-name", ACPI_TYPE_STRING, &obj)) {
 		clk_data->name = devm_kzalloc(&adev->dev, obj->string.length,
 					      GFP_KERNEL);
+		if (!clk_data->name)
+			return -ENOMEM;
 
 		strcpy(clk_data->name, obj->string.pointer);
 	} else {