Re: [RESEND PATCH] cpufreq: unnecesary double free in pcc_cpufreq_do_osc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 30 Sep 2010, Davidlohr Bueso wrote:

> x86, cpufreq: avoid an unnecessary double free when finished in pcc_cpufreq_do_osc()
> 
> There is no need to fall through the out_free label thus saving a kfree call.
> 
> Signed-off-by: Davidlohr Bueso <dave@xxxxxxx>
> ---
>  arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c
> index 994230d..db7dc35 100644
> --- a/arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c
> +++ b/arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c
> @@ -379,6 +379,8 @@ static int __init pcc_cpufreq_do_osc(acpi_handle *handle)
>  	if (!(supported & 0x1))
>  		return -ENODEV;
>  
> +	return ret;
> +
>  out_free:
>  	kfree(output.pointer);
>  	return ret;

Why is the kfree() unnecessary?  acpi_evaluate_object() will allocate a 
new output.pointer if it returns 0, so at this point in the code you would 
now be leaking the buffer.

Instead, it would probably be better to fix the existing memory leaks in 
that function where we return -ENODEV without going to out_free when 
output.length is non-zero.
--
To unsubscribe from this list: send the line "unsubscribe cpufreq" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Devel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Forum]     [Linux SCSI]

  Powered by Linux