On 2016年11月25日 10:47, Yuan Liu wrote:
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).
I see, thanks. Reviewed-by: Jason Wang <[email protected]>
On Thu, Nov 24, 2016 at 6:37 PM, Jason Wang <[email protected] <mailto:[email protected]>> wrote:On 2016年11月24日 08:31, Yuan Liu wrote: From: Yuan Liu <[email protected] <mailto:[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] <mailto:[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
