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

Reply via email to