qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] vfio/common: Do not g_free in vfio_get_iommu_info
@ 2022-09-10  0:42 Nicolin Chen
  2022-09-12 12:38 ` Cornelia Huck
  0 siblings, 1 reply; 9+ messages in thread
From: Nicolin Chen @ 2022-09-10  0:42 UTC (permalink / raw)
  To: alex.williamson; +Cc: qemu-devel, kwankhede, avihaih, shayd, jgg

Its caller vfio_connect_container() assigns a default value
to info->iova_pgsizes, even if vfio_get_iommu_info() fails.
This would result in a "Segmentation fault" error, when the
VFIO_IOMMU_GET_INFO ioctl errors out.

Since the caller has g_free already, drop the g_free in its
rollback routine and add a line of comments to highlight it.

Fixes: 87ea529c50 ("vfio: Get migration capability flags for container")
Cc: Kirti Wankhede <kwankhede@nvidia.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
---
 hw/vfio/common.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index ace9562a9b..51b2e05c76 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -1940,6 +1940,7 @@ static int vfio_init_container(VFIOContainer *container, int group_fd,
     return 0;
 }
 
+/* The caller is responsible for g_free(*info) */
 static int vfio_get_iommu_info(VFIOContainer *container,
                                struct vfio_iommu_type1_info **info)
 {
@@ -1951,8 +1952,6 @@ again:
     (*info)->argsz = argsz;
 
     if (ioctl(container->fd, VFIO_IOMMU_GET_INFO, *info)) {
-        g_free(*info);
-        *info = NULL;
         return -errno;
     }
 
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-09-14 20:20 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-10  0:42 [PATCH] vfio/common: Do not g_free in vfio_get_iommu_info Nicolin Chen
2022-09-12 12:38 ` Cornelia Huck
2022-09-12 20:51   ` Nicolin Chen
2022-09-14 18:10     ` Alex Williamson
2022-09-14 18:30       ` Alex Williamson
2022-09-14 19:02       ` Nicolin Chen
2022-09-14 19:53         ` Alex Williamson
2022-09-14 20:03           ` Alex Williamson
2022-09-14 20:16             ` Nicolin Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).