[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] virtiofsd: Fix check of chown()'s return value
From: |
Greg Kurz |
Subject: |
Re: [PATCH] virtiofsd: Fix check of chown()'s return value |
Date: |
Fri, 7 May 2021 18:34:39 +0200 |
On Fri, 7 May 2021 11:19:07 -0500
Eric Blake <eblake@redhat.com> wrote:
> On 5/7/21 11:12 AM, Greg Kurz wrote:
> > Otherwise you always get this warning when using --socket-group=users
> >
> > vhost socket failed to set group to users (100)
> >
> > While here, print out the error if chown() fails.
> >
> > Signed-off-by: Greg Kurz <groug@kaod.org>
> > ---
> > tools/virtiofsd/fuse_virtio.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c
> > index 3e13997406bf..638d3ffe2f8a 100644
> > --- a/tools/virtiofsd/fuse_virtio.c
> > +++ b/tools/virtiofsd/fuse_virtio.c
> > @@ -978,9 +978,9 @@ static int fv_create_listen_socket(struct fuse_session
> > *se)
> > if (se->vu_socket_group) {
> > struct group *g = getgrnam(se->vu_socket_group);
> > if (g) {
> > - if (!chown(se->vu_socket_path, -1, g->gr_gid)) {
> > + if (chown(se->vu_socket_path, -1, g->gr_gid) == -1) {
> > fuse_log(FUSE_LOG_WARNING,
> > - "vhost socket failed to set group to %s (%d)\n",
> > + "vhost socket failed to set group to %s (%d):
> > %m\n",
>
> Is %m portable? POSIX requires it for syslog, but not for printf (where
> glibc has it as an extension), but I'm not sure what fuse_log supports.
> Best might be a manual %s/strerror(errno)
>
virtiofsd is for linux+glibc only and %m is already used a few lines
above in the same function.