[LTP] [PATCH v4 1/3] syscalls/creat09: Add umask test condition
xuyang2018.jy@fujitsu.com
xuyang2018.jy@fujitsu.com
Tue Sep 20 03:08:34 CEST 2022
Hi Cyril
> 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.
I guess you miss this patchset. so ping again.
Best Regards
Yang Xu
>
>
> 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