Re: [RFC patch 2/5] smpboot: Provide infrastructure for percpu hotplug threads

Thomas Gleixner
2012-06-18T08:50:56Z

On Mon, 18 Jun 2012, Cyrill Gorcunov wrote:
> On Wed, Jun 13, 2012 at 11:00:54AM -0000, Thomas Gleixner wrote:
> > +
> > +static int
> > +__smpboot_create_thread(struct smp_hotplug_thread *ht, unsigned int cpu)
> > +{
> > + struct task_struct *tsk = *per_cpu_ptr(ht->store, cpu);
> > + struct smpboot_thread_data *td;
> > +
> > + if (tsk)
> > + return 0;
> > +
> > + td = kzalloc_node(sizeof(*td), GFP_KERNEL, cpu_to_node(cpu));
> > + if (!td)
> > + return -ENOMEM;
> > + td->cpu = cpu;
> > + td->ht = ht;
> > +
> > + tsk = kthread_create_on_cpu(ht->thread_fn, td, cpu, ht->thread_comm);
> > + if (IS_ERR(tsk))
> > + return PTR_ERR(tsk);
> > +
>
> Hi Thomas, I might be missing something obvious but will not we leak td
> allocated here if kthread_create_on_cpu failed?

Yes. Good catch!

Thanks,

tglx