# Re: \[PATCH\] cpufreq: qcom-hw: fix dereferencing freed memory 'data'

- From: Viresh Kumar \<viresh.kumar@linaro.org\>
- Date: 2021-03-01 04:35:47 
- List: linux-pm
- Page: https://ratatoskr.run/linux-pm/2021/03/6281064
- Thread: https://ratatoskr.run/linux-pm/2021/02/6280758/t.md

```text
On 28-02-21, 09:33, Shawn Guo wrote:
> Commit 67fc209b527d ("cpufreq: qcom-hw: drop devm_xxx() calls from
> init/exit hooks") introduces an issue of dereferencing freed memory
> 'data'.  Fix it.
> 
> Fixes: 67fc209b527d ("cpufreq: qcom-hw: drop devm_xxx() calls from init/exit hooks")
> Reported-by: kernel test robot <redacted>
> Reported-by: Dan Carpenter <redacted>
> Signed-off-by: Shawn Guo <redacted>
> ---
> Viresh,
> 
> The issue was introduced by v2 of "cpufreq: qcom-hw: drop devm_xxx()
> calls from init/exit hooks", which misses the conversion of 'data->base'
> in error path.  Sorry!
> 
> Shawn
> 
>  drivers/cpufreq/qcom-cpufreq-hw.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c
> index d3c23447b892..bee5d67a8227 100644
> --- a/drivers/cpufreq/qcom-cpufreq-hw.c
> +++ b/drivers/cpufreq/qcom-cpufreq-hw.c
> @@ -374,7 +374,7 @@ static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy)
>  error:
>  	kfree(data);
>  unmap_base:
> -	iounmap(data->base);
> +	iounmap(base);
>  release_region:
>  	release_mem_region(res->start, resource_size(res));
>  	return ret;

Applied. Thanks.
-- 
viresh
```
