qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Cédric Le Goater" <clg@redhat.com>
To: Steve Sistare <steven.sistare@oracle.com>, qemu-devel@nongnu.org
Cc: Alex Williamson <alex.williamson@redhat.com>,
	Yi Liu <yi.l.liu@intel.com>, Eric Auger <eric.auger@redhat.com>,
	Zhenzhong Duan <zhenzhong.duan@intel.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH V4 33/43] vfio/iommufd: add vfio_device_free_name
Date: Tue, 10 Jun 2025 08:12:16 +0200	[thread overview]
Message-ID: <bd8e520b-bfa5-426d-98fa-5a4e4f14cd56@redhat.com> (raw)
In-Reply-To: <1748546679-154091-34-git-send-email-steven.sistare@oracle.com>

On 5/29/25 21:24, Steve Sistare wrote:
> Define vfio_device_free_name to free the name created by
> vfio_device_get_name.  A subsequent patch will do more there.
> No functional change.
> 
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
> ---
>   include/hw/vfio/vfio-device.h | 1 +
>   hw/vfio/ap.c                  | 2 +-
>   hw/vfio/ccw.c                 | 2 +-
>   hw/vfio/device.c              | 5 +++++
>   hw/vfio/pci.c                 | 2 +-
>   hw/vfio/platform.c            | 2 +-
>   6 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/include/hw/vfio/vfio-device.h b/include/hw/vfio/vfio-device.h
> index 6eb6f21..321b442 100644
> --- a/include/hw/vfio/vfio-device.h
> +++ b/include/hw/vfio/vfio-device.h
> @@ -227,6 +227,7 @@ int vfio_device_get_irq_info(VFIODevice *vbasedev, int index,
>   
>   /* Returns 0 on success, or a negative errno. */
>   bool vfio_device_get_name(VFIODevice *vbasedev, Error **errp);
> +void vfio_device_free_name(VFIODevice *vbasedev);
>   void vfio_device_set_fd(VFIODevice *vbasedev, const char *str, Error **errp);
>   void vfio_device_init(VFIODevice *vbasedev, int type, VFIODeviceOps *ops,
>                         DeviceState *dev, bool ram_discard);
> diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c
> index 785c0a0..013bd59 100644
> --- a/hw/vfio/ap.c
> +++ b/hw/vfio/ap.c
> @@ -180,7 +180,7 @@ static void vfio_ap_realize(DeviceState *dev, Error **errp)
>   
>   error:
>       error_prepend(errp, VFIO_MSG_PREFIX, vbasedev->name);
> -    g_free(vbasedev->name);
> +    vfio_device_free_name(vbasedev);
>   }
>   
>   static void vfio_ap_unrealize(DeviceState *dev)
> diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> index cea9d6e..903b8b0 100644
> --- a/hw/vfio/ccw.c
> +++ b/hw/vfio/ccw.c
> @@ -619,7 +619,7 @@ out_io_notifier_err:
>   out_region_err:
>       vfio_device_detach(vbasedev);
>   out_attach_dev_err:
> -    g_free(vbasedev->name);
> +    vfio_device_free_name(vbasedev);
>   out_unrealize:
>       if (cdc->unrealize) {
>           cdc->unrealize(cdev);
> diff --git a/hw/vfio/device.c b/hw/vfio/device.c
> index 71fa9f4..151c618 100644
> --- a/hw/vfio/device.c
> +++ b/hw/vfio/device.c
> @@ -317,6 +317,11 @@ bool vfio_device_get_name(VFIODevice *vbasedev, Error **errp)
>       return true;
>   }
>   
> +void vfio_device_free_name(VFIODevice *vbasedev)
> +{
> +    g_free(vbasedev->name);

you could use g_clear_pointer().

Thanks,

C.

  
> +}
> +
>   void vfio_device_set_fd(VFIODevice *vbasedev, const char *str, Error **errp)
>   {
>       ERRP_GUARD();
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index c8d6ee0..7da7a9c 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -2949,7 +2949,7 @@ static void vfio_pci_put_device(VFIOPCIDevice *vdev)
>   {
>       vfio_device_detach(&vdev->vbasedev);
>   
> -    g_free(vdev->vbasedev.name);
> +    vfio_device_free_name(&vdev->vbasedev);
>       g_free(vdev->msix);
>   }
>   
> diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
> index 9a21f2e..5c1795a 100644
> --- a/hw/vfio/platform.c
> +++ b/hw/vfio/platform.c
> @@ -530,7 +530,7 @@ static bool vfio_base_device_init(VFIODevice *vbasedev, Error **errp)
>   {
>       /* @fd takes precedence over @sysfsdev which takes precedence over @host */
>       if (vbasedev->fd < 0 && vbasedev->sysfsdev) {
> -        g_free(vbasedev->name);
> +        vfio_device_free_name(vbasedev);
>           vbasedev->name = g_path_get_basename(vbasedev->sysfsdev);
>       } else if (vbasedev->fd < 0) {
>           if (!vbasedev->name || strchr(vbasedev->name, '/')) {



  reply	other threads:[~2025-06-10  6:12 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-29 19:23 [PATCH V4 00/43] Live update: vfio and iommufd Steve Sistare
2025-05-29 19:23 ` [PATCH V4 01/43] MAINTAINERS: Add reviewer for CPR Steve Sistare
2025-05-29 19:23 ` [PATCH V4 02/43] vfio: return mr from vfio_get_xlat_addr Steve Sistare
2025-06-03 10:39   ` Duan, Zhenzhong
2025-05-29 19:23 ` [PATCH V4 03/43] vfio/container: pass MemoryRegion to DMA operations Steve Sistare
2025-06-03 10:39   ` Duan, Zhenzhong
2025-05-29 19:24 ` [PATCH V4 04/43] vfio/pci: vfio_pci_put_device on failure Steve Sistare
2025-06-03 10:40   ` Duan, Zhenzhong
2025-06-03 14:09     ` Steven Sistare
2025-06-04  3:55       ` Duan, Zhenzhong
2025-06-04 13:33         ` Steven Sistare
2025-06-05  3:02           ` Duan, Zhenzhong
2025-06-05 15:16             ` Steven Sistare
2025-06-05 21:14               ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 05/43] migration: cpr helpers Steve Sistare
2025-05-29 19:24 ` [PATCH V4 06/43] migration: lower handler priority Steve Sistare
2025-05-29 19:24 ` [PATCH V4 07/43] vfio: vfio_find_ram_discard_listener Steve Sistare
2025-06-03 10:59   ` Duan, Zhenzhong
2025-05-29 19:24 ` [PATCH V4 08/43] vfio: move vfio-cpr.h Steve Sistare
2025-06-03 11:01   ` Duan, Zhenzhong
2025-05-29 19:24 ` [PATCH V4 09/43] vfio/container: register container for cpr Steve Sistare
2025-06-01 15:21   ` Cédric Le Goater
2025-06-03 11:57   ` Duan, Zhenzhong
2025-06-03 14:09     ` Steven Sistare
2025-06-03 14:17       ` Steven Sistare
2025-06-03 15:27         ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 10/43] vfio/container: preserve descriptors Steve Sistare
2025-06-01 16:57   ` Cédric Le Goater
2025-06-03 11:57   ` Duan, Zhenzhong
2025-05-29 19:24 ` [PATCH V4 11/43] vfio/container: discard old DMA vaddr Steve Sistare
2025-05-29 19:24 ` [PATCH V4 12/43] vfio/container: restore " Steve Sistare
2025-06-01 16:48   ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 13/43] vfio/container: mdev cpr blocker Steve Sistare
2025-05-29 19:24 ` [PATCH V4 14/43] vfio/container: recover from unmap-all-vaddr failure Steve Sistare
2025-05-29 19:24 ` [PATCH V4 15/43] pci: export msix_is_pending Steve Sistare
2025-05-29 19:24 ` [PATCH V4 16/43] pci: skip reset during cpr Steve Sistare
2025-06-01 16:38   ` Cédric Le Goater
2025-06-01 19:07     ` Michael S. Tsirkin
2025-06-02 12:36       ` Steven Sistare
2025-06-04  7:09         ` Cédric Le Goater
2025-06-04 11:59           ` Cédric Le Goater
2025-06-04 13:15             ` Steven Sistare
2025-06-04 13:48               ` Cédric Le Goater
2025-06-10 16:31                 ` Michael S. Tsirkin
2025-06-10 17:05                   ` Steven Sistare
2025-06-10 17:11                     ` Cédric Le Goater
2025-06-10 17:14                       ` Steven Sistare
2025-06-10 17:19                         ` Cédric Le Goater
2025-06-10 17:09                   ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 17/43] vfio-pci: " Steve Sistare
2025-06-01 16:39   ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 18/43] vfio/pci: vfio_pci_vector_init Steve Sistare
2025-06-01 15:25   ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 19/43] vfio/pci: vfio_notifier_init Steve Sistare
2025-05-29 19:24 ` [PATCH V4 20/43] vfio/pci: pass vector to virq functions Steve Sistare
2025-05-29 19:24 ` [PATCH V4 21/43] vfio/pci: vfio_notifier_init cpr parameters Steve Sistare
2025-05-29 19:24 ` [PATCH V4 22/43] vfio/pci: vfio_notifier_cleanup Steve Sistare
2025-05-29 19:24 ` [PATCH V4 23/43] vfio/pci: export MSI functions Steve Sistare
2025-06-01 15:27   ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 24/43] vfio-pci: preserve MSI Steve Sistare
2025-05-29 19:24 ` [PATCH V4 25/43] vfio-pci: preserve INTx Steve Sistare
2025-05-29 19:24 ` [PATCH V4 26/43] migration: close kvm after cpr Steve Sistare
2025-05-29 19:24 ` [PATCH V4 27/43] migration: cpr_get_fd_param helper Steve Sistare
2025-05-29 19:24 ` [PATCH V4 28/43] backends/iommufd: iommufd_backend_map_file_dma Steve Sistare
2025-05-29 19:24 ` [PATCH V4 29/43] backends/iommufd: change process ioctl Steve Sistare
2025-05-29 19:24 ` [PATCH V4 30/43] physmem: qemu_ram_get_fd_offset Steve Sistare
2025-05-29 19:24 ` [PATCH V4 31/43] vfio/iommufd: use IOMMU_IOAS_MAP_FILE Steve Sistare
2025-05-29 19:24 ` [PATCH V4 32/43] vfio/iommufd: invariant device name Steve Sistare
2025-06-10  6:10   ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 33/43] vfio/iommufd: add vfio_device_free_name Steve Sistare
2025-06-10  6:12   ` Cédric Le Goater [this message]
2025-05-29 19:24 ` [PATCH V4 34/43] vfio/iommufd: device name blocker Steve Sistare
2025-05-29 19:24 ` [PATCH V4 35/43] vfio/iommufd: register container for cpr Steve Sistare
2025-06-09 20:30   ` Cédric Le Goater
2025-06-09 20:47     ` Steven Sistare
2025-06-10  6:11       ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 36/43] migration: vfio cpr state hook Steve Sistare
2025-06-10  6:14   ` Cédric Le Goater
2025-05-29 19:24 ` [PATCH V4 37/43] vfio/iommufd: cpr state Steve Sistare
2025-05-29 19:24 ` [PATCH V4 38/43] vfio/iommufd: preserve descriptors Steve Sistare
2025-05-29 19:24 ` [PATCH V4 39/43] vfio/iommufd: reconstruct device Steve Sistare
2025-05-29 19:24 ` [PATCH V4 40/43] vfio/iommufd: reconstruct hwpt Steve Sistare
2025-05-29 19:24 ` [PATCH V4 41/43] vfio/iommufd: change process Steve Sistare
2025-05-29 19:24 ` [PATCH V4 42/43] iommufd: preserve DMA mappings Steve Sistare
2025-05-29 19:24 ` [PATCH V4 43/43] vfio/container: delete old cpr register Steve Sistare
2025-06-10  6:14   ` Cédric Le Goater
2025-06-01 17:26 ` [PATCH V4 00/43] Live update: vfio and iommufd Cédric Le Goater
2025-06-02 12:42   ` Steven Sistare
2025-06-03 12:09 ` Duan, Zhenzhong
2025-06-03 14:09   ` Steven Sistare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bd8e520b-bfa5-426d-98fa-5a4e4f14cd56@redhat.com \
    --to=clg@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=farosas@suse.de \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=steven.sistare@oracle.com \
    --cc=yi.l.liu@intel.com \
    --cc=zhenzhong.duan@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).