Re: [PATCH] kernel/workqueue.c: kfree issue, need check flag'WQ_UNBOUND' when processing failure.
From: Tejun Heo
Date: Wed May 15 2013 - 17:11:39 EST
On Wed, May 15, 2013 at 09:34:36AM +0800, Chen Gang wrote:
> On 05/14/2013 11:20 PM, Tejun Heo wrote:
> > On Tue, May 14, 2013 at 09:06:40PM +0800, Chen Gang wrote:
> >> err_destroy:
> >> destroy_workqueue(wq);
> >> + if (flags & WQ_UNBOUND) {
> >> +err_free_wq:
> >> + free_workqueue_attrs(wq->unbound_attrs);
> >> + kfree(wq);
> >> + }
> >
> > Doesn't the above make the code free wq twice on after err_destroy?
> >
>
> Oh, it is my fault. I did not see the put_pwq_unlocked() in details,
> next I should read the code carefully.
We're still leaking unbound_attrs in the failure path, right? We can
probably just add unconditional free_workqueue_attrs() in err_free_wq?
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/