[LTP] [PATCH v2 1/1] creat09: Run on all_filesystems

Jan Stancek jstancek@redhat.com
Fri Oct 15 10:01:40 CEST 2021


On Fri, Oct 15, 2021 at 9:37 AM xuyang2018.jy@fujitsu.com
<xuyang2018.jy@fujitsu.com> wrote:
>
> Hi Petr
> > To make sure bug on XFS is detected on systems which use it.
> >
> > Due setgid is test problematic on Microsoft filesystems:
> >
> > creat09.c:81: TBROK: ntfs: Setgid bit not set
> > creat09.c:76: TBROK: chown(exfat,65533,4) failed: EPERM (1)
> > creat09.c:76: TBROK: chown(vfat,65533,4) failed: EPERM (1)
> >
> > thus they're disabled.
> >
> > Signed-off-by: Petr Vorel<pvorel@suse.cz>
> > ---
> > Changes v1->v2:
> > * drop useless code creating directory (reported by Martin Doucha)
> >
> >   testcases/kernel/syscalls/creat/creat09.c | 15 ++++++++++++++-
> >   1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/testcases/kernel/syscalls/creat/creat09.c b/testcases/kernel/syscalls/creat/creat09.c
> > index 681b80c7d..1d6c1643c 100644
> > --- a/testcases/kernel/syscalls/creat/creat09.c
> > +++ b/testcases/kernel/syscalls/creat/creat09.c
> > @@ -33,13 +33,15 @@
> >   #include<stdlib.h>
> >   #include<sys/types.h>
> >   #include<pwd.h>
> > +#include<stdio.h>

Is this new include still needed?

> >   #include "tst_test.h"
> >   #include "tst_uid.h"
> >
> >   #define MODE_RWX        0777
> >   #define MODE_SGID       (S_ISGID|0777)
> >
> > -#define WORKDIR              "testdir"
> > +#define MNTPOINT     "mntpoint"
> > +#define WORKDIR              MNTPOINT "testdir"
> You missed "/".
> >   #define CREAT_FILE  WORKDIR "/creat.tmp"
> >   #define OPEN_FILE   WORKDIR "/open.tmp"
> >
> > @@ -51,6 +53,8 @@ static void setup(void)
> >       struct stat buf;
> >       struct passwd *ltpuser = SAFE_GETPWNAM("nobody");
> >
> > +     SAFE_CHDIR(MNTPOINT);
> Why need chdir?

Agreed, either make WORKDIR relative to MNTPOINT and use chdir
or add "/" and then chdir can be dropped.

> > +
> >       tst_res(TINFO, "User nobody: uid = %d, gid = %d", (int)ltpuser->pw_uid,
> >               (int)ltpuser->pw_gid);
> >       free_gid = tst_get_free_gid(ltpuser->pw_gid);
> > @@ -119,6 +123,15 @@ static struct tst_test test = {
> >       .cleanup = cleanup,
> >       .needs_root = 1,
> >       .needs_tmpdir = 1,
> This can be removed.

True, since mntpoint implies tmpdir. But for readability I'd keep it,
it makes it
more visible that cwd is tmpdir at start of test.

>
> Best Regards
> Yang Xu
> > +     .all_filesystems = 1,
> > +     .mount_device = 1,
> > +     .mntpoint = MNTPOINT,
> > +     .skip_filesystems = (const char*[]) {
> > +             "exfat",
> > +             "ntfs",
> > +             "vfat",
> > +             NULL
> > +     },
> >       .tags = (const struct tst_tag[]) {
> >               {"linux-git", "0fa3ecd87848"},
> >               {"CVE", "2018-13405"},
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
>



More information about the ltp mailing list