I think not. In virtio_pci_common, vp_dev is allocated by kzalloc so a
kfree is needed. Here vm_dev is allocated by devm_kmalloc which is
"automatically freed on driver detach" from the comment
(drivers/base/devres.c:769).

On Thu, Nov 24, 2016 at 6:37 PM, Jason Wang <[email protected]> wrote:

>
>
> On 2016年11月24日 08:31, Yuan Liu wrote:
>
>> From: Yuan Liu <[email protected]>
>>
>> Fix a warning thrown from virtio_mmio_remove():
>> Device 'virtio0' does not have a release() function
>>
>> The fix is according to virtio_pci_probe() of
>> drivers/virtio/virtio_pci_common.c
>>
>> Signed-off-by: Yuan Liu <[email protected]>
>> ---
>>   drivers/virtio/virtio_mmio.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
>> index 48bfea9..d47a2fc 100644
>> --- a/drivers/virtio/virtio_mmio.c
>> +++ b/drivers/virtio/virtio_mmio.c
>> @@ -489,6 +489,7 @@ static const struct virtio_config_ops
>> virtio_mmio_config_ops = {
>>   };
>>     +static void virtio_mmio_release_dev_empty(struct device *_d) {}
>>
>
> Do we need to free vm_dev here?
>
>
>     /* Platform device */
>>   @@ -511,6 +512,7 @@ static int virtio_mmio_probe(struct platform_device
>> *pdev)
>>                 return  -ENOMEM;
>>         vm_dev->vdev.dev.parent = &pdev->dev;
>> +       vm_dev->vdev.dev.release = virtio_mmio_release_dev_empty;
>>         vm_dev->vdev.config = &virtio_mmio_config_ops;
>>         vm_dev->pdev = pdev;
>>         INIT_LIST_HEAD(&vm_dev->virtqueues);
>>
>
>
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to