[LTP] [PATCH v4 8/8] syscalls/mknod08: Convert to new API
Petr Vorel
pvorel@suse.cz
Thu Jun 5 09:23:42 CEST 2025
Hi Ricardo,
...
> -/*
> - * Test Name: mknod08
> - *
> - * Test Description:
> - * Verify that mknod(2) succeeds when used to create a filesystem
> - * node on a directory without set group-ID bit set. The node created
> - * should not have set group-ID bit set and its gid should be equal to that
> - * of its parent directory.
> - *
> - * Expected Result:
> - * mknod() should return value 0 on success and node created should not
> - * have set group-ID bit set.
> - *
> - * Algorithm:
> - * Setup:
> - * Setup signal handling.
> - * Create temporary directory.
> - * Pause for SIGUSR1 if option specified.
> - *
> - * Test:
> - * Loop if the proper options are given.
> - * Execute system call
> - * Check return code, if system call failed (return=-1)
> - * Log the errno and Issue a FAIL message.
> - * Otherwise,
> - * Verify the Functionality of system call
> - * if successful,
> - * Issue Functionality-Pass message.
> - * Otherwise,
> - * Issue Functionality-Fail message.
...
> +/*\
> + * Verify that mknod(2) succeeds when used to create a filesystem node on a
> + * directory without set group-ID bit set. The node created should not have
> + * set group-ID bit set and its gid should be equal to that of its parent
> + * directory.
> */
...
> -#define MODE_RWX S_IFIFO | S_IRWXU | S_IRWXG | S_IRWXO
> +#define MODE_RWX 0777
I'm not sure if that's omitted by accident or intentional, but I don't think
it's ok to drop S_IFIFO:
man mknod(2):
The file type must be one of S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO,
or S_IFSOCK to specify a regular file (which will be created
empty), character special file, block special file, FIFO (named
pipe), or UNIX domain socket, respectively. (Zero file type is
equivalent to type S_IFREG.)
=> we don't test on named pipe but on a regular file.
Could you please use the same approach as you use in mknod06.c?
#define MODE_FIFO_RWX (S_IFIFO | 0777)
...
> +uid_t nobody_uid;
> +gid_t nobody_gid, free_gid;
make check reports:
mknod08.c:24:7: warning: Symbol 'nobody_uid' has no prototype or library ('tst_') prefix. Should it be static?
mknod08.c:25:7: warning: Symbol 'nobody_gid' has no prototype or library ('tst_') prefix. Should it be static?
mknod08.c:25:19: warning: Symbol 'free_gid' has no prototype or library ('tst_') prefix. Should it be static?
With that fixed you can add:
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Kind regards,
Petr
More information about the ltp
mailing list