mirror of
https://github.com/qemu/qemu.git
synced 2025-10-30 10:30:10 +00:00
A recent patch fixed leaks of the dynamically allocated vcdev->vdev.name field in vfio_ccw_realize(), but we now have three freeing sites for it. This is unfortunate and seems to indicate something is wrong with its life cycle. The root issue is that vcdev->vdev.name is set before vfio_get_device() is called, which theoretically prevents to call vfio_put_device() to do the freeing. Well actually, we could call it anyway because vfio_put_base_device() is a nop if the device isn't attached, but this would be confusing. This patch hence moves all the logic of attaching the device, including the "already attached" check, to a separate vfio_ccw_get_device() function, counterpart of vfio_put_device(). While here, vfio_put_device() is renamed to vfio_ccw_put_device() for consistency. Signed-off-by: Greg Kurz <groug@kaod.org> Message-Id: <152326891065.266543.9487977590811413472.stgit@bahia.lan> Signed-off-by: Cornelia Huck <cohuck@redhat.com> |
||
|---|---|---|
| .. | ||
| amd-xgbe.c | ||
| calxeda-xgmac.c | ||
| ccw.c | ||
| common.c | ||
| display.c | ||
| Makefile.objs | ||
| pci-quirks.c | ||
| pci.c | ||
| pci.h | ||
| platform.c | ||
| spapr.c | ||
| trace-events | ||