Am 7/24/19 um 1:37 PM schrieb Fabian Grünbichler: > and constant AT_EMPTY_PATH for chowning a directory/file opened via > openat(2), for example when walking/creating a directory tree without > following symlinks. > > Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> > --- > src/PVE/Syscall.pm | 1 + > src/PVE/Tools.pm | 7 +++++++ > 2 files changed, 8 insertions(+) > > diff --git a/src/PVE/Syscall.pm b/src/PVE/Syscall.pm > index a2903b7..99e43e7 100644 > --- a/src/PVE/Syscall.pm > +++ b/src/PVE/Syscall.pm > @@ -14,6 +14,7 @@ BEGIN { > mkdirat => &SYS_mkdirat, > faccessat => &SYS_faccessat, > setresuid => &SYS_setresuid, > + fchownat => &SYS_fchownat, > ); > }; > > diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm > index 676647e..550da09 100644 > --- a/src/PVE/Tools.pm > +++ b/src/PVE/Tools.pm > @@ -85,6 +85,8 @@ use constant {CLONE_NEWNS => 0x00020000, > use constant {O_PATH => 0x00200000, > O_TMPFILE => 0x00410000}; # This includes O_DIRECTORY > > +use constant {AT_EMPTY_PATH => 0x1000}; > + > sub run_with_timeout { > my ($timeout, $code, @param) = @_; > > @@ -1556,6 +1558,11 @@ sub mkdirat($$$) { > return syscall(PVE::Syscall::mkdirat, $dirfd, $name, $mode) == 0; > } > > +sub fchownat($$$$$) { > + my ($dirfd, $pathname, $owner, $group, $flags) = @_; > + return syscall(PVE::Syscall::fchownat, $dirfd, $pathname, $owner, > $group, $flags) == 0; > +} > + > my $salt_starter = time(); > > sub encrypt_pw { >
applied, thanks! For the container part I'll wait until pve-common gets bumped, which I'll do Friday, if it did not happen until then - just FYI. _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel