[LTP] [PATCH v4 1/3] syscalls/creat09: Add umask test condition
xuyang2018.jy@fujitsu.com
xuyang2018.jy@fujitsu.com
Thu Sep 15 02:37:33 CEST 2022
Hi Cyril
> Hi!
>> diff --git a/testcases/kernel/syscalls/creat/creat09.c b/testcases/kernel/syscalls/creat/creat09.c
>> index bed7bddb0..d583cceca 100644
>> --- a/testcases/kernel/syscalls/creat/creat09.c
>> +++ b/testcases/kernel/syscalls/creat/creat09.c
>> @@ -28,6 +28,16 @@
>> * Date: Fri Jan 22 16:48:18 2021 -0800
>> *
>> * xfs: fix up non-directory creation in SGID directories
>> + *
>> + * When use acl or umask, it still has bug.
>> + *
>> + * Fixed in:
>> + *
>> + * commit 1639a49ccdce58ea248841ed9b23babcce6dbb0b
>> + * Author: Yang Xu <xuyang2018.jy@fujitsu.com>
>> + * Date: Thu July 14 14:11:27 2022 +0800
>> + *
>> + * fs: move S_ISGID stripping into the vfs_*() helpers
>> */
>>
>> #include <stdlib.h>
>> @@ -47,6 +57,14 @@
>> static gid_t free_gid;
>> static int fd = -1;
>>
>> +static struct tcase {
>> + const char *msg;
>> + int mask;
>> +} tcases[] = {
>> + {"under umask(0) situation", 0},
>> + {"under umask(S_IXGRP) situation", S_IXGRP}
>> +};
>> +
>> static void setup(void)
>> {
>> struct stat buf;
>> @@ -94,8 +112,14 @@ static void file_test(const char *name)
>> tst_res(TPASS, "%s: Setgid bit not set", name);
>> }
>>
>> -static void run(void)
>> +static void run(unsigned int n)
>> {
>> + struct tcase *tc = &tcases[n];
>> +
>> + umask(tc->mask);
>> + tst_res(TINFO, "Testing setgid behaviour when creating file %s",
>> + tc->msg);
>
> This can be shorter and more to the point, something as:
>
> tst_res(TINFO, "File created with %s", tc->msg);
>
> And the msg could be just "umask(0)" and "umask(S_IXGRP)".
>
>
> Otherwise it's fine and I can fix the messages before applying if you
> want.
Yes. Please apply it with fix the messages. Thanks.
Best Regards
Yang Xu
>
>> fd = SAFE_CREAT(CREAT_FILE, MODE_SGID);
>> SAFE_CLOSE(fd);
>> file_test(CREAT_FILE);
>> @@ -115,13 +139,14 @@ static void cleanup(void)
>> }
>>
>> static struct tst_test test = {
>> - .test_all = run,
>> + .test = run,
>> .setup = setup,
>> .cleanup = cleanup,
>> .needs_root = 1,
>> .all_filesystems = 1,
>> .mount_device = 1,
>> .mntpoint = MNTPOINT,
>> + .tcnt = ARRAY_SIZE(tcases),
>> .skip_filesystems = (const char*[]) {
>> "exfat",
>> "ntfs",
>> @@ -132,6 +157,7 @@ static struct tst_test test = {
>> {"linux-git", "0fa3ecd87848"},
>> {"CVE", "2018-13405"},
>> {"linux-git", "01ea173e103e"},
>> + {"linux-git", "1639a49ccdce"},
>> {}
>> },
>> };
>> --
>> 2.23.0
>>
>
More information about the ltp
mailing list