Hi Murphy, > As CIFS is not supporting setuid operations. Any reference to this? fs/cifs/cifsfs.c and other parts of kernel cifs works with CIFS_MOUNT_SET_UID. Also samba_setreuid() from lib/util/setid.c from samba git (I guess used in samba libraries works with SYS_setreuid syscall or setreuid() libc wrapper. What am I missing? > diff --git a/lib/tst_safe_macros.c b/lib/tst_safe_macros.c > index 0e59a3f98..36941ec0b 100644 > --- a/lib/tst_safe_macros.c > +++ b/lib/tst_safe_macros.c > @@ -111,6 +111,7 @@ int safe_setreuid(const char *file, const int lineno, > uid_t ruid, uid_t euid) > { > int rval; > + long fs_type; > rval = setreuid(ruid, euid); > if (rval == -1) { > @@ -119,6 +120,13 @@ int safe_setreuid(const char *file, const int lineno, > (long)ruid, (long)euid); > } > + fs_type = tst_fs_type("."); > + if (fs_type == TST_CIFS_MAGIC) { > + tst_brk_(file, lineno, TCONF, > + "setreuid is not supported on %s filesystem", > + tst_fs_type_name(fs_type)); > + } I guess this check should be before setreuid() As it's in safe_seteuid() and safe_setuid() > + > return rval; > } Kind regards, Petr