On 5/15/24 10:20, Zhenzhong Duan wrote:
Changed functions include vfio_set_irq_signaling()

this change looks fine

and vfio_region_setup().

I would prefer all users of vfio_get_region_info() to be changed.

Thanks,

C.




Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com>
---
  hw/vfio/helpers.c | 7 ++-----
  1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/hw/vfio/helpers.c b/hw/vfio/helpers.c
index 47b4096c05..0bb7b40a6a 100644
--- a/hw/vfio/helpers.c
+++ b/hw/vfio/helpers.c
@@ -111,7 +111,7 @@ int vfio_set_irq_signaling(VFIODevice *vbasedev, int index, 
int subindex,
                             int action, int fd, Error **errp)
  {
      ERRP_GUARD();
-    struct vfio_irq_set *irq_set;
+    g_autofree struct vfio_irq_set *irq_set = NULL;
      int argsz, ret = 0;
      const char *name;
      int32_t *pfd;
@@ -130,7 +130,6 @@ int vfio_set_irq_signaling(VFIODevice *vbasedev, int index, 
int subindex,
      if (ioctl(vbasedev->fd, VFIO_DEVICE_SET_IRQS, irq_set)) {
          ret = -errno;
      }
-    g_free(irq_set);
if (!ret) {
          return 0;
@@ -348,7 +347,7 @@ static int vfio_setup_region_sparse_mmaps(VFIORegion 
*region,
  int vfio_region_setup(Object *obj, VFIODevice *vbasedev, VFIORegion *region,
                        int index, const char *name)
  {
-    struct vfio_region_info *info;
+    g_autofree struct vfio_region_info *info = NULL;
      int ret;
ret = vfio_get_region_info(vbasedev, index, &info);
@@ -381,8 +380,6 @@ int vfio_region_setup(Object *obj, VFIODevice *vbasedev, 
VFIORegion *region,
          }
      }
- g_free(info);
-
      trace_vfio_region_setup(vbasedev->name, index, name,
                              region->flags, region->fd_offset, region->size);
      return 0;


Reply via email to