mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-03-06 10:04:42 -07:00
vfio: move more cleanup into vfio_pci_put_device()
All of the cleanup can be done in the same place, and vfio-user will want to do the same. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20250520150419.2172078-3-john.levon@nutanix.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
493a06a2ed
commit
33528f255a
1 changed files with 12 additions and 11 deletions
|
|
@ -2854,6 +2854,18 @@ static bool vfio_populate_device(VFIOPCIDevice *vdev, Error **errp)
|
|||
|
||||
static void vfio_pci_put_device(VFIOPCIDevice *vdev)
|
||||
{
|
||||
vfio_display_finalize(vdev);
|
||||
vfio_bars_finalize(vdev);
|
||||
g_free(vdev->emulated_config_bits);
|
||||
g_free(vdev->rom);
|
||||
/*
|
||||
* XXX Leaking igd_opregion is not an oversight, we can't remove the
|
||||
* fw_cfg entry therefore leaking this allocation seems like the safest
|
||||
* option.
|
||||
*
|
||||
* g_free(vdev->igd_opregion);
|
||||
*/
|
||||
|
||||
vfio_device_detach(&vdev->vbasedev);
|
||||
|
||||
g_free(vdev->vbasedev.name);
|
||||
|
|
@ -3302,17 +3314,6 @@ static void vfio_instance_finalize(Object *obj)
|
|||
{
|
||||
VFIOPCIDevice *vdev = VFIO_PCI_BASE(obj);
|
||||
|
||||
vfio_display_finalize(vdev);
|
||||
vfio_bars_finalize(vdev);
|
||||
g_free(vdev->emulated_config_bits);
|
||||
g_free(vdev->rom);
|
||||
/*
|
||||
* XXX Leaking igd_opregion is not an oversight, we can't remove the
|
||||
* fw_cfg entry therefore leaking this allocation seems like the safest
|
||||
* option.
|
||||
*
|
||||
* g_free(vdev->igd_opregion);
|
||||
*/
|
||||
vfio_pci_put_device(vdev);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue