Re: [PATCH v2] kernel/smp.c: free related resources when failure occurs in hotplug_cfd()

Wang YanQing
2013-07-09T00:46:38Z

On Tue, Jul 09, 2013 at 08:43:05AM +0800, Chen Gang wrote:
> When failure occurs in hotplug_cfd(), need release related resources,
> or will cause memory leak.
>
> Signed-off-by: Chen Gang <gang.chen@asianux.com>
> ---
> kernel/smp.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/smp.c b/kernel/smp.c
> index 02a885d..2a3a017 100644
> --- a/kernel/smp.c
> +++ b/kernel/smp.c
> @@ -49,10 +49,13 @@ hotplug_cfd(struct notifier_block *nfb, unsigned long action, void *hcpu)
> cpu_to_node(cpu)))
> return notifier_from_errno(-ENOMEM);
> if (!zalloc_cpumask_var_node(&cfd->cpumask_ipi, GFP_KERNEL,
> - cpu_to_node(cpu)))
> + cpu_to_node(cpu))) {
> + free_cpumask_var(cfd->cpumask);
> return notifier_from_errno(-ENOMEM);
> + }
> cfd->csd = alloc_percpu(struct call_single_data);
> if (!cfd->csd) {
> + free_cpumask_var(cfd->cpumask_ipi);
> free_cpumask_var(cfd->cpumask);
> return notifier_from_errno(-ENOMEM);
> }
> --
> 1.7.7.6
Acked-by: Wang YanQing <udknight@gmail.com>