From 45b829f4dcb28a98af7285dc57bfaf621b0bbf21 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Fri, 29 Apr 2016 23:36:47 +0200 Subject: Fix privileged operations on trivfs-translated nodes Amends d18ea50e. * libtrivfs/fsys-getroot.c: When the user is privileged, make a verbatim copy of the real node instead of making an auth-restricted copy. --- libtrivfs/fsys-getroot.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libtrivfs') diff --git a/libtrivfs/fsys-getroot.c b/libtrivfs/fsys-getroot.c index c44e5358..c9b8261e 100644 --- a/libtrivfs/fsys-getroot.c +++ b/libtrivfs/fsys-getroot.c @@ -75,11 +75,11 @@ trivfs_S_fsys_getroot (struct trivfs_control *cntl, .alloced = nuids, }; - if (idvec_contains (&idvec, 0)) - /* Root should be given all our rights. */ + if (_is_privileged (&idvec)) + /* Privileged users should be given all our rights. */ err = io_duplicate (cntl->underlying, &new_realnode); else - /* Non-root, restrict rights. */ + /* Non-privileged, restrict rights. */ err = io_restrict_auth (cntl->underlying, &new_realnode, uids, nuids, gids, ngids); -- cgit v1.2.3