2015-07-20 06:27:29

by Pan Xinhui

[permalink] [raw]
Subject: [PATCH] cpufreq: ia64: Fix a memory leak in acpi_cpufreq_cpu_exit

From: Pan Xinhui <[email protected]>

freq_table should be alloced in ->init and freed in ->exit. However it
does not be freed. Fix this memory leak in acpi_cpufreq_cpu_exit.

Signed-off-by: Pan Xinhui <[email protected]>
---
drivers/cpufreq/ia64-acpi-cpufreq.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/ia64-acpi-cpufreq.c b/drivers/cpufreq/ia64-acpi-cpufreq.c
index 27cef0c..e02bd15 100644
--- a/drivers/cpufreq/ia64-acpi-cpufreq.c
+++ b/drivers/cpufreq/ia64-acpi-cpufreq.c
@@ -334,6 +334,7 @@ acpi_cpufreq_cpu_exit (
acpi_io_data[policy->cpu] = NULL;
acpi_processor_unregister_performance(&data->acpi_data,
policy->cpu);
+ kfree(policy->freq_table);
kfree(data);
}

--
1.9.1


2015-07-20 08:16:26

by Pan Xinhui

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: ia64: Fix a memory leak in acpi_cpufreq_cpu_exit

hi, all
ia64-acpi-cpufreq has similar issues with acpi-cpufreq. Maybe we need make other two patches.
Replace struct cpufreq_acpi_io *acpi_io_data[NR_CPUS] with policy->driver_data, and Fix an acpi perf unregister issue.

As two patches
[1/2] Drop the unused first argument of acpi_processor_unregister_performance().
[2/2] Drop the now redundant acpi_data pointer from acpi_cpufreq_data.
are going into the kernel tree, If I send my patches to you now, there will be some conflicts.

So I may wait for a couple of days until all previous patches merged into kernel tree.

thanks
xinhui

On 2015年07月20日 14:24, Pan Xinhui wrote:
> From: Pan Xinhui <[email protected]>
>
> freq_table should be alloced in ->init and freed in ->exit. However it
> does not be freed. Fix this memory leak in acpi_cpufreq_cpu_exit.
>
> Signed-off-by: Pan Xinhui <[email protected]>
> ---
> drivers/cpufreq/ia64-acpi-cpufreq.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/ia64-acpi-cpufreq.c b/drivers/cpufreq/ia64-acpi-cpufreq.c
> index 27cef0c..e02bd15 100644
> --- a/drivers/cpufreq/ia64-acpi-cpufreq.c
> +++ b/drivers/cpufreq/ia64-acpi-cpufreq.c
> @@ -334,6 +334,7 @@ acpi_cpufreq_cpu_exit (
> acpi_io_data[policy->cpu] = NULL;
> acpi_processor_unregister_performance(&data->acpi_data,
> policy->cpu);
> + kfree(policy->freq_table);
> kfree(data);
> }
>
>

2015-07-23 20:38:22

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: ia64: Fix a memory leak in acpi_cpufreq_cpu_exit

On Monday, July 20, 2015 02:24:36 PM Pan Xinhui wrote:
> From: Pan Xinhui <[email protected]>
>
> freq_table should be alloced in ->init and freed in ->exit. However it
> does not be freed. Fix this memory leak in acpi_cpufreq_cpu_exit.
>
> Signed-off-by: Pan Xinhui <[email protected]>

Queued up for 4.3, thanks!


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.