The name argument can never be an empty string, and dirfd always point to
the containing directory of the file name. AT_EMPTY_PATH is hence useless
here. Also it breaks build with glibc version 2.13 and older.
It is actually an oversight of a previous tentative patch to implement this
function. We can safely drop it.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Greg Kurz <groug@kaod.org>
---
hw/9pfs/9p-local.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
index ea9a1ced0394..45e9a1f9b0ca 100644
--- a/hw/9pfs/9p-local.c
+++ b/hw/9pfs/9p-local.c
@@ -349,7 +349,7 @@ static int local_set_cred_passthrough(FsContext *fs_ctx, int dirfd,
const char *name, FsCred *credp)
{
if (fchownat(dirfd, name, credp->fc_uid, credp->fc_gid,
- AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH) < 0) {
+ AT_SYMLINK_NOFOLLOW) < 0) {
/*
* If we fail to change ownership and if we are
* using security model none. Ignore the error
On 04/03/17 10:54, Greg Kurz wrote: > The name argument can never be an empty string, and dirfd always point to > the containing directory of the file name. AT_EMPTY_PATH is hence useless > here. Also it breaks build with glibc version 2.13 and older. > > It is actually an oversight of a previous tentative patch to implement this > function. We can safely drop it. > > Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Signed-off-by: Greg Kurz <groug@kaod.org> > --- > hw/9pfs/9p-local.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c > index ea9a1ced0394..45e9a1f9b0ca 100644 > --- a/hw/9pfs/9p-local.c > +++ b/hw/9pfs/9p-local.c > @@ -349,7 +349,7 @@ static int local_set_cred_passthrough(FsContext *fs_ctx, int dirfd, > const char *name, FsCred *credp) > { > if (fchownat(dirfd, name, credp->fc_uid, credp->fc_gid, > - AT_SYMLINK_NOFOLLOW | AT_EMPTY_PATH) < 0) { > + AT_SYMLINK_NOFOLLOW) < 0) { > /* > * If we fail to change ownership and if we are > * using security model none. Ignore the error > > Thanks Greg - this, along with the updated version of the previous patch fixes the build for me. Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> ATB, Mark.
On 03/04/2017 04:54 AM, Greg Kurz wrote: > The name argument can never be an empty string, and dirfd always point to > the containing directory of the file name. AT_EMPTY_PATH is hence useless > here. Also it breaks build with glibc version 2.13 and older. > > It is actually an oversight of a previous tentative patch to implement this > function. We can safely drop it. > > Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Signed-off-by: Greg Kurz <groug@kaod.org> > --- > hw/9pfs/9p-local.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
© 2016 - 2024 Red Hat, Inc.