aboutsummaryrefslogtreecommitdiff
path: root/hw/vfio/container.c
diff options
context:
space:
mode:
authorCédric Le Goater <clg@redhat.com>2024-06-17 08:34:04 +0200
committerCédric Le Goater <clg@redhat.com>2024-06-24 23:15:31 +0200
commit938026053f43031319d5e2159dcf4f993519afef (patch)
tree8a4a8e0d7b02475305e8d923153f01dce133870c /hw/vfio/container.c
parent504d297e10fdfe1b1243274e334abb0074ee69f4 (diff)
vfio/container: Switch to QOM
Instead of allocating the container struct, create a QOM object of the appropriate type. Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'hw/vfio/container.c')
-rw-r--r--hw/vfio/container.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/hw/vfio/container.c b/hw/vfio/container.c
index 3ae52530a9..ff3a6831da 100644
--- a/hw/vfio/container.c
+++ b/hw/vfio/container.c
@@ -435,7 +435,7 @@ static VFIOContainer *vfio_create_container(int fd, VFIOGroup *group,
vioc_name = vfio_get_iommu_class_name(iommu_type);
vioc = VFIO_IOMMU_CLASS(object_class_by_name(vioc_name));
- container = g_malloc0(sizeof(*container));
+ container = VFIO_IOMMU_LEGACY(object_new(vioc_name));
container->fd = fd;
container->iommu_type = iommu_type;
vfio_container_init(&container->bcontainer, vioc);
@@ -674,7 +674,7 @@ unregister_container_exit:
vfio_cpr_unregister_container(bcontainer);
free_container_exit:
- g_free(container);
+ object_unref(container);
close_fd_exit:
close(fd);
@@ -718,7 +718,7 @@ static void vfio_disconnect_container(VFIOGroup *group)
trace_vfio_disconnect_container(container->fd);
vfio_cpr_unregister_container(bcontainer);
close(container->fd);
- g_free(container);
+ object_unref(container);
vfio_put_address_space(space);
}