Message ID | 20210428124939.23546-1-zhaogongyi@huawei.com |
---|---|
State | Changes Requested |
Headers | show |
Series | syscalls/setfsgid02: Bugfix for running as root | expand |
Hi! > When we run the test as root id, and with the option "-i 2", > test will fail. Looking at the test there is much more to fix. - the description does not match what the test is doing - the pass/fail condition and TFAIL message does not make any sense And its the same for the rest of the setfsgid tests. Looking at the manual pages for this oddball syscall we should check if: - unpriviledged process cannot change the value i.e. value that is different from return from ret=setfsgid(-1) is passed as setfsgid(ret+1) followed by setfsgid(-1) and all of these returns the same value and the value also matches process effective group ID - priviledged process can change the value i.e. the same as unpriviledged but we expect the last setfsgid(-1) return the new value. We either have to reset the setfsgid() at the end of the test or run it in a fork()-ed process so that we start with a clean plate for each iteration
diff --git a/testcases/kernel/syscalls/setfsgid/setfsgid02.c b/testcases/kernel/syscalls/setfsgid/setfsgid02.c index 4788957e2..a5485294e 100644 --- a/testcases/kernel/syscalls/setfsgid/setfsgid02.c +++ b/testcases/kernel/syscalls/setfsgid/setfsgid02.c @@ -49,10 +49,11 @@ int main(int ac, char **av) setup(); + gid = 1; + for (lc = 0; TEST_LOOPING(lc); lc++) { tst_count = 0; - gid = 1; while (getgrgid(gid)) gid++; @@ -73,6 +74,8 @@ int main(int ac, char **av) tst_resm(TPASS, "setfsgid() returned expected value : " "%ld", TEST_RETURN); } + + gid++; } cleanup();
When we run the test as root id, and with the option "-i 2", test will fail. Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com> --- testcases/kernel/syscalls/setfsgid/setfsgid02.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 2.17.1