All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Cédric Le Goater" <clg@redhat.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
	 Tony Krowiak <akrowiak@linux.ibm.com>,
	 Halil Pasic <pasic@linux.ibm.com>,
	 Jason Herne <jjherne@linux.ibm.com>,
	 Thomas Huth <thuth@redhat.com>,
	qemu-s390x@nongnu.org,  qemu-devel@nongnu.org
Subject: Re: [PATCH] vfio/ap: Use g_autofree variable
Date: Wed, 24 Apr 2024 15:22:12 +0200	[thread overview]
Message-ID: <87il06uc8r.fsf@pond.sub.org> (raw)
In-Reply-To: <20240424125432.215886-1-clg@redhat.com> ("Cédric Le Goater"'s message of "Wed, 24 Apr 2024 14:54:32 +0200")

Cédric Le Goater <clg@redhat.com> writes:

> Also change the return value of vfio_ap_register_irq_notifier() to be
> a bool since it takes and 'Error **' argument. See the qapi/error.h
> Rules section.
>
> Signed-off-by: Cédric Le Goater <clg@redhat.com>

Split the patch?

If not, the bigger part by far is the return value change, so I'd put
that into the subject.

> ---
>  hw/vfio/ap.c | 19 ++++++++-----------
>  1 file changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c
> index 7c4caa5938636937680fec87e999249ac84a4498..8bb024e2fde4a1d72346dee4b662d762374326b9 100644
> --- a/hw/vfio/ap.c
> +++ b/hw/vfio/ap.c
> @@ -70,14 +70,14 @@ static void vfio_ap_req_notifier_handler(void *opaque)
>      }
>  }
>  
> -static void vfio_ap_register_irq_notifier(VFIOAPDevice *vapdev,
> +static bool vfio_ap_register_irq_notifier(VFIOAPDevice *vapdev,
>                                            unsigned int irq, Error **errp)
>  {
>      int fd;
>      size_t argsz;
>      IOHandler *fd_read;
>      EventNotifier *notifier;
> -    struct vfio_irq_info *irq_info;
> +    g_autofree struct vfio_irq_info *irq_info = NULL;
>      VFIODevice *vdev = &vapdev->vdev;
>  
>      switch (irq) {
> @@ -87,13 +87,13 @@ static void vfio_ap_register_irq_notifier(VFIOAPDevice *vapdev,
>          break;
>      default:
>          error_setg(errp, "vfio: Unsupported device irq(%d)", irq);
> -        return;
> +        return false;
>      }
>  
>      if (vdev->num_irqs < irq + 1) {
>          error_setg(errp, "vfio: IRQ %u not available (number of irqs %u)",
>                     irq, vdev->num_irqs);
> -        return;
> +        return false;
>      }
>  
>      argsz = sizeof(*irq_info);
> @@ -104,14 +104,14 @@ static void vfio_ap_register_irq_notifier(VFIOAPDevice *vapdev,
>      if (ioctl(vdev->fd, VFIO_DEVICE_GET_IRQ_INFO,
>                irq_info) < 0 || irq_info->count < 1) {
>          error_setg_errno(errp, errno, "vfio: Error getting irq info");
> -        goto out_free_info;
> +        return false;
>      }
>  
>      if (event_notifier_init(notifier, 0)) {
>          error_setg_errno(errp, errno,
>                           "vfio: Unable to init event notifier for irq (%d)",
>                           irq);
> -        goto out_free_info;
> +        return false;
>      }
>  
>      fd = event_notifier_get_fd(notifier);
> @@ -123,9 +123,7 @@ static void vfio_ap_register_irq_notifier(VFIOAPDevice *vapdev,
>          event_notifier_cleanup(notifier);
>      }
>  
> -out_free_info:
> -    g_free(irq_info);
> -
> +    return true;
>  }
>  
>  static void vfio_ap_unregister_irq_notifier(VFIOAPDevice *vapdev,
> @@ -171,8 +169,7 @@ static void vfio_ap_realize(DeviceState *dev, Error **errp)
>          goto error;
>      }
>  
> -    vfio_ap_register_irq_notifier(vapdev, VFIO_AP_REQ_IRQ_INDEX, &err);
> -    if (err) {
> +    if (!vfio_ap_register_irq_notifier(vapdev, VFIO_AP_REQ_IRQ_INDEX, &err)) {
>          /*
>           * Report this error, but do not make it a failing condition.
>           * Lack of this IRQ in the host does not prevent normal operation.
            */
           error_report_err(err);

Not this patch's problem, but here goes anyway: since this isn't an
error, we shouldn't use error_report_err().  Would warn_report_err() be
appropriate?  info_report_err() doesn't exist, but it could.

       }

       return;

Reviewed-by: Markus Armbruster <armbru@redhat.com>



  reply	other threads:[~2024-04-24 13:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24 12:54 [PATCH] vfio/ap: Use g_autofree variable Cédric Le Goater
2024-04-24 13:22 ` Markus Armbruster [this message]
2024-04-26 15:08 ` Anthony Krowiak

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=87il06uc8r.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=akrowiak@linux.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=clg@redhat.com \
    --cc=jjherne@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=thuth@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.