Re: [PATCH] irq/generic-chip: Fix memory leak of domain->name
From: Thomas Gleixner
Date: Wed Sep 27 2017 - 09:30:11 EST
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 .....
> + 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.
Thanks,
tglx