Re: [Xen-devel] [PATCH] xen: fix memory leak in __xen_pcibk_add_pci_dev()

From: DaeSeok Youn
Date: Tue Apr 01 2014 - 04:18:44 EST


2014-04-01 16:23 GMT+09:00 Jan Beulich <JBeulich@xxxxxxxx>:
>>>> On 31.03.14 at 12:08, <daeseok.youn@xxxxxxxxx> wrote:
>
>> It need to free dev_entry when it failed to assign to a new
>> slot on the virtual PCI bus.
>>
>> smatch says:
>> drivers/xen/xen-pciback/vpci.c:142 __xen_pcibk_add_pci_dev() warn:
>> possible memory leak of 'dev_entry'
>>
>> Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx>
>
> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> albeit the solution is not ideal:
>
>> --- a/drivers/xen/xen-pciback/vpci.c
>> +++ b/drivers/xen/xen-pciback/vpci.c
>> @@ -130,6 +130,7 @@ static int __xen_pcibk_add_pci_dev(struct
>> xen_pcibk_device *pdev,
>> err = -ENOMEM;
>> xenbus_dev_fatal(pdev->xdev, err,
>> "No more space on root virtual PCI bus");
>> + kfree(dev_entry);
>>
>> unlock:
>> mutex_unlock(&vpci_dev->lock);
>
> The kfree() invocation would better be placed outside the locked
> region (e.g. in an else to the "if (!err)" a little further down).

You're right.
I will change my patch as your comment and send it again.

Thanks for review.
Daeseok Youn

>
> Jan
>
--
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/