[LTP] [PATCH v2] tst_test.c: Set system default umaks to 0022
Wei Gao
wegao@suse.com
Mon Feb 19 14:48:45 CET 2024
Some system's default umask is 0077, this will trigger issues for LTP case.
Example 1:
cgroup_core01.c will report following error msg:
cgroup_core01.c:50: TBROK: openat(21</sys/fs/cgroup/memory/ltp/test-3519/child_b>, 'tasks', 2, 0): EACCES (13)
Detail reason:
Code:
cg_child_a = tst_cg_group_mk(tst_cg, "child_a");
cg_child_b = tst_cg_group_mk(tst_cg, "child_b");
Result:
wegao:/sys/fs/cgroup # ll ltp/test-25304/
drwx------ 2 root root 0 Feb 10 10:37 child_a <<<<<< group and other has no any permission
drwx------ 2 root root 0 Feb 10 10:38 child_b
Code:
SAFE_CG_FCHOWN(cg_child_a, "cgroup.procs", nobody_uid, -1);
SAFE_CG_FCHOWN(cg_child_b, "cgroup.procs", nobody_uid, -1);
Result:
wegao:/sys/fs/cgroup # ll ltp/test-26388/child_a/
total 0
-rw-r--r-- 1 nobody root 0 Feb 10 10:44 cgroup.procs <<<<<<
Code:
SAFE_SETEUID(nobody_uid); <<<< after switch to nobody then can not access child_{a,b} or any file
under child_{a,b}
Result:
nobody@wegao:/sys/fs/cgroup/ltp/test-26730> ll child_a/ <<< nobody has no permission on child_a
ls: cannot open directory 'child_a/': Permission denied
Code:
loops = SAFE_CG_OPEN(cg_child_b, "cgroup.procs", O_RDWR, fds);
Result:
cgroup_core01.c:76: TBROK: openat(9</sys/fs/cgroup/ltp/test-26388/child_b>, 'cgroup.procs', 2, 0): EACCES (13)
Example 2:
chdir01
chdir01.c:107: TFAIL: nobody: chdir("testfile") returned unexpected error: EACCES (13)
Reason:
susetest:/tmp/LTP_chd5JtblL/mntpoint # mount | grep loop0
/dev/loop0 on /tmp/LTP_chd5JtblL/mntpoint type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/loop0 on /var/tmp/LTP_chd5JtblL/mntpoint type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
susetest:/tmp/LTP_chd5JtblL # ll
total 307216
drwx------ 4 root root 16384 Dec 31 1969 mntpoint <<<< nobody has no permission on mount directory
-rw------- 1 root root 314572800 Feb 19 04:51 test_dev.img
susetest:/tmp/LTP_chd5JtblL/mntpoint # ll
total 16
-rwx------ 1 root root 0 Feb 19 04:53 aa
drwx------ 2 root root 8192 Feb 19 04:50 keep_out
drwx------ 2 root root 8192 Feb 19 04:50 subdir
-rwx------ 1 root root 0 Feb 19 04:50 testfile <<<< nobody has no permission on testfile
Signed-off-by: Wei Gao <wegao@suse.com>
---
lib/tst_test.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/tst_test.c b/lib/tst_test.c
index edb42f7f4..e03fd93e7 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -1174,6 +1174,8 @@ static void do_setup(int argc, char *argv[])
{
char *tdebug_env = getenv("LTP_ENABLE_DEBUG");
+ umask(0022);
+
if (!tst_test)
tst_brk(TBROK, "No tests to run");
--
2.35.3
More information about the ltp
mailing list