Re: [PATCH] drivers: acpi: apd: Check return value of acpi_dev_get_property

From: Rafael J. Wysocki
Date: Fri Aug 21 2020 - 14:29:00 EST


On Wed, Aug 19, 2020 at 7:17 PM Furquan Shaikh <furquan@xxxxxxxxxx> wrote:
>
> `fch_misc_setup()` uses `acpi_dev_get_property()` to read the value of
> "is-rv" passed in by BIOS in ACPI tables. However, not all BIOSes
> might pass in this property and hence it is important to first check
> the return value of `acpi_dev_get_property()` before referencing the
> object filled by it.
>
> Signed-off-by: Furquan Shaikh <furquan@xxxxxxxxxx>
> ---
> drivers/acpi/acpi_apd.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
> index 4c348377a39d..806b8ce05624 100644
> --- a/drivers/acpi/acpi_apd.c
> +++ b/drivers/acpi/acpi_apd.c
> @@ -99,8 +99,8 @@ static int fch_misc_setup(struct apd_private_data *pdata)
> if (ret < 0)
> return -ENOENT;
>
> - acpi_dev_get_property(adev, "is-rv", ACPI_TYPE_INTEGER, &obj);
> - clk_data->is_rv = obj->integer.value;
> + if (!acpi_dev_get_property(adev, "is-rv", ACPI_TYPE_INTEGER, &obj))
> + clk_data->is_rv = obj->integer.value;
>
> list_for_each_entry(rentry, &resource_list, node) {
> clk_data->base = devm_ioremap(&adev->dev, rentry->res->start,
> --

Applied (with minor subject edits) as 5.9-rc material, thanks!