Re: [PATCH v2] perf: arm_cspmu: Fix variable dereference warning

From: Randy Dunlap
Date: Thu Mar 02 2023 - 16:02:51 EST




On 3/2/23 12:57, Besar Wicaksono wrote:
> Fix warning message from smatch tool:
> | smatch warnings:
> | drivers/perf/arm_cspmu/arm_cspmu.c:1075 arm_cspmu_find_cpu_container()
> | warn: variable dereferenced before check 'cpu_dev' (see line 1073)
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Reported-by: Dan Carpenter <error27@xxxxxxxxx>
> Link: https://lore.kernel.org/r/202302191227.kc0V8fM7-lkp@xxxxxxxxx/
> Reviewed-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
> Signed-off-by: Besar Wicaksono <bwicaksono@xxxxxxxxxx>

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Thanks.

> ---
>
> Changes from v1:
> * Update commit subject and description
> * Added Reviewed-by from Suzuki
> v1: https://lore.kernel.org/linux-arm-kernel/20230301225657.30211-1-bwicaksono@xxxxxxxxxx/T/#u
>
> ---
> drivers/perf/arm_cspmu/arm_cspmu.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/perf/arm_cspmu/arm_cspmu.c b/drivers/perf/arm_cspmu/arm_cspmu.c
> index e31302ab7e37..a3f1c410b417 100644
> --- a/drivers/perf/arm_cspmu/arm_cspmu.c
> +++ b/drivers/perf/arm_cspmu/arm_cspmu.c
> @@ -1078,12 +1078,14 @@ static int arm_cspmu_request_irq(struct arm_cspmu *cspmu)
> static inline int arm_cspmu_find_cpu_container(int cpu, u32 container_uid)
> {
> u32 acpi_uid;
> - struct device *cpu_dev = get_cpu_device(cpu);
> - struct acpi_device *acpi_dev = ACPI_COMPANION(cpu_dev);
> + struct device *cpu_dev;
> + struct acpi_device *acpi_dev;
>
> + cpu_dev = get_cpu_device(cpu);
> if (!cpu_dev)
> return -ENODEV;
>
> + acpi_dev = ACPI_COMPANION(cpu_dev);
> while (acpi_dev) {
> if (!strcmp(acpi_device_hid(acpi_dev),
> ACPI_PROCESSOR_CONTAINER_HID) &&
>
> base-commit: 7f7a8831520f12a3cf894b0627641fad33971221

--
~Randy