All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Xie Yongji <xieyongji@bytedance.com>
Cc: kwolf@redhat.com,  stefanha@redhat.com,  qemu-block@nongnu.org,
	qemu-devel@nongnu.org
Subject: Re: [PATCH 4/4] libvduse: Check the return value of some ioctls
Date: Wed, 29 Jun 2022 11:41:53 +0200	[thread overview]
Message-ID: <8735fnq00u.fsf@pond.sub.org> (raw)
In-Reply-To: <20220627090203.87-5-xieyongji@bytedance.com> (Xie Yongji's message of "Mon, 27 Jun 2022 17:02:03 +0800")

Xie Yongji <xieyongji@bytedance.com> writes:

> Coverity pointed out (CID 1490222, 1490227) that we called
> ioctl somewhere without checking the return value. This
> patch fixes these issues.
>
> Fixes: Coverity CID 1490222, 1490227
> Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
> ---
>  subprojects/libvduse/libvduse.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/subprojects/libvduse/libvduse.c b/subprojects/libvduse/libvduse.c
> index 1a5981445c..bf7302c60a 100644
> --- a/subprojects/libvduse/libvduse.c
> +++ b/subprojects/libvduse/libvduse.c
> @@ -947,7 +947,10 @@ static void vduse_queue_disable(VduseVirtq *vq)
>  
>      eventfd.index = vq->index;
>      eventfd.fd = VDUSE_EVENTFD_DEASSIGN;
> -    ioctl(dev->fd, VDUSE_VQ_SETUP_KICKFD, &eventfd);
> +    if (ioctl(dev->fd, VDUSE_VQ_SETUP_KICKFD, &eventfd)) {
> +        fprintf(stderr, "Failed to disable eventfd for vq[%d]: %s\n",
> +                vq->index, strerror(errno));
> +    }
>      close(vq->fd);
>  
>      assert(vq->inuse == 0);
> @@ -1337,7 +1340,10 @@ VduseDev *vduse_dev_create(const char *name, uint32_t device_id,
>  
>      return dev;
>  err:
> -    ioctl(ctrl_fd, VDUSE_DESTROY_DEV, name);
> +    if (ioctl(ctrl_fd, VDUSE_DESTROY_DEV, name)) {
> +        fprintf(stderr, "Failed to destroy vduse device %s: %s\n",
> +                name, strerror(errno));
> +    }
>  err_dev:
>      close(ctrl_fd);
>  err_ctrl:

Both errors are during cleanup that can't fail.  The program continues
as if they didn't happen.  Does the user need to know?



  reply	other threads:[~2022-06-29  9:49 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27  9:01 [PATCH 0/4] Fix some coverity issues on VDUSE Xie Yongji
2022-06-27  9:02 ` [PATCH 1/4] libvduse: Fix the incorrect function name Xie Yongji
2022-06-29  9:37   ` Markus Armbruster
2022-06-27  9:02 ` [PATCH 2/4] libvduse: Replace strcpy() with strncpy() Xie Yongji
2022-06-28  0:25   ` Richard Henderson
2022-06-28  2:59     ` Yongji Xie
2022-06-29  9:38   ` Markus Armbruster
2022-06-27  9:02 ` [PATCH 3/4] libvduse: Pass positive value to strerror() Xie Yongji
2022-06-28  0:26   ` Richard Henderson
2022-06-29  9:38   ` Markus Armbruster
2022-06-27  9:02 ` [PATCH 4/4] libvduse: Check the return value of some ioctls Xie Yongji
2022-06-29  9:41   ` Markus Armbruster [this message]
2022-06-29 11:10     ` Yongji Xie
2022-06-29 11:39       ` Markus Armbruster
2022-06-29 12:37         ` Yongji Xie
2022-06-29 13:22           ` Markus Armbruster
2022-06-29 13:28             ` Yongji Xie

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=8735fnq00u.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=xieyongji@bytedance.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.