Re: [PATCH] irq/generic-chip: Fix memory leak of domain->name

From: jeffy
Date: Wed Sep 27 2017 - 23:18:59 EST


Hi Thomas,

Thanks for your review.

On 09/27/2017 09:29 PM, Thomas Gleixner wrote:
On Wed, 27 Sep 2017, Jeffy Chen wrote:

Free domain->name when IRQ_DOMAIN_NAME_ALLOCATED been set.

I can see that from the patch, but you fail to explain what the problem
is.

It's actually more than just a memory leak. If the domain gets destroyed
then the domain free code would try to free d->name which might be a string
constant .....
ok, i'll add that to commit msg.

+ if (d->flags & IRQ_DOMAIN_NAME_ALLOCATED) {
+ kfree(d->name);
+ d->flags &= ~IRQ_DOMAIN_NAME_ALLOCATED;
+ }
d->name = name;

I don't think that this is the proper thing to do. There is no reason why
the domain should have the same name as the irq chip. So we rather should
do:

if (!d->name)
d->name = name;

Along with a proper comment.
that is better, will do it in next version :)

Thanks,

tglx