[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/3] xen: call qemu_set_cloexec instead of fc
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [PATCH v2 3/3] xen: call qemu_set_cloexec instead of fcntl |
Date: |
Tue, 9 May 2017 22:54:55 +0200 |
On Tue, 9 May 2017 12:04:53 -0700
Stefano Stabellini <address@hidden> wrote:
> Use the common utility function, which contains checks on return values,
... and first calls F_GETFD as recommended by POSIX.1-2001.
http://pubs.opengroup.org/onlinepubs/009695399/functions/fcntl.html
"The arg values to F_GETFD, F_SETFD, F_GETFL, and F_SETFL all represent
flag values to allow for future growth. Applications using these functions
should do a read-modify-write operation on them, rather than assuming that
only the values defined by this volume of IEEE Std 1003.1-2001 are valid.
It is a common error to forget this, particularly in the case of F_SETFD."
> instead of manually calling fcntl.
>
> CID: 1374831
>
> Signed-off-by: Stefano Stabellini <address@hidden>
> CC: address@hidden
> CC: address@hidden
> CC: address@hidden
> CC: Eric Blake <address@hidden>
> ---
> hw/9pfs/xen-9p-backend.c | 2 +-
> hw/xen/xen_backend.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
Anyway,
Reviewed-by: Greg Kurz <address@hidden>
> diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
> index a1fdede..5df97c9 100644
> --- a/hw/9pfs/xen-9p-backend.c
> +++ b/hw/9pfs/xen-9p-backend.c
> @@ -380,7 +380,7 @@ static int xen_9pfs_connect(struct XenDevice *xendev)
> if (xen_9pdev->rings[i].evtchndev == NULL) {
> goto out;
> }
> - fcntl(xenevtchn_fd(xen_9pdev->rings[i].evtchndev), F_SETFD,
> FD_CLOEXEC);
> + qemu_set_cloexec(xenevtchn_fd(xen_9pdev->rings[i].evtchndev));
> xen_9pdev->rings[i].local_port = xenevtchn_bind_interdomain
> (xen_9pdev->rings[i].evtchndev,
> xendev->dom,
> diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c
> index c85f163..2cac47d 100644
> --- a/hw/xen/xen_backend.c
> +++ b/hw/xen/xen_backend.c
> @@ -147,7 +147,7 @@ static struct XenDevice *xen_be_get_xendev(const char
> *type, int dom, int dev, qdev_unplug(DEVICE(xendev), NULL);
> return NULL;
> }
> - fcntl(xenevtchn_fd(xendev->evtchndev), F_SETFD, FD_CLOEXEC);
> + qemu_set_cloexec(xenevtchn_fd(xendev->evtchndev));
>
> if (ops->flags & DEVOPS_FLAG_NEED_GNTDEV) {
> xendev->gnttabdev = xengnttab_open(NULL, 0);
pgp2aEgebvhCi.pgp
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v2 1/3] xen/9pfs: fix two resource leaks on error paths, discovered by Coverity, Stefano Stabellini, 2017/05/09
- [Qemu-devel] [PATCH v2 2/3] Check the return value of fcntl in qemu_set_cloexec, Stefano Stabellini, 2017/05/09
- [Qemu-devel] [PATCH v2 3/3] xen: call qemu_set_cloexec instead of fcntl, Stefano Stabellini, 2017/05/09
- Re: [Qemu-devel] [PATCH v2 1/3] xen/9pfs: fix two resource leaks on error paths, discovered by Coverity, Eric Blake, 2017/05/09
- Re: [Qemu-devel] [PATCH v2 1/3] xen/9pfs: fix two resource leaks on error paths, discovered by Coverity, Greg Kurz, 2017/05/09