[LTP] [PATCH v5 4/8] syscalls/mknod04: Convert to new API
Ricardo B. Marlière
rbm@suse.com
Fri Jun 6 13:31:48 CEST 2025
On Fri Jun 6, 2025 at 8:27 AM -03, Petr Vorel wrote:
> Hi Ricardo,
>
> ...
>> -#define MODE_RWX S_IFIFO | S_IRWXU | S_IRWXG | S_IRWXO
>
> Similarly, to what I noted to mknod03.c in v4:
> https://lore.kernel.org/ltp/20250605073231.GC1190804@pevik/
Exactly!
>
> Originally here was also S_IFIFO (used for both mkdir() and mknod()). Although
> the tests "works" IMHO we should use mknod() with S_IFIFO (and I believe it's
> not needed for mkdir().
>
>> -#define MODE_SGID S_IFIFO | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO
>
>> +#define MODE_RWX 0777
> But you omit it.
>
>> +#define MODE_SGID (S_ISGID | 0777)
> ...
>> - /*
>> - * TEST CASE CONDITION:
>> - * Attempt to create a filesystem node on a directory
>> - * with group id (sgid) bit set such that,
>> - * the node created by mknod(2) should not have group id
>> - * (sgid) bit set and node's gid should be equal to the
>> - * effective gid of the process.
>> - */
>> - TEST(mknod(node_name, MODE_RWX, 0));
>> + SAFE_MKNOD(TEMP_NODE, MODE_RWX, 0);
>
> I vote for following diff (no need to repost).
Thanks!
>
> Kind regards,
> Petr
>
> +++ testcases/kernel/syscalls/mknod/mknod04.c
> @@ -17,6 +17,7 @@
> #include "tst_test.h"
>
> #define MODE_RWX 0777
> +#define MODE_FIFO (S_IFIFO | 0777)
> #define MODE_SGID (S_ISGID | 0777)
>
> #define TEMP_DIR "testdir"
> @@ -29,7 +30,7 @@ static void run(void)
> {
> struct stat buf;
>
> - SAFE_MKNOD(TEMP_NODE, MODE_RWX, 0);
> + SAFE_MKNOD(TEMP_NODE, MODE_FIFO, 0);
>
> SAFE_STAT(TEMP_NODE, &buf);
> TST_EXP_EQ_LI(buf.st_mode & S_ISGID, 0);
Can you please also apply this one:
diff --git a/testcases/kernel/syscalls/mknod/mknod05.c b/testcases/kernel/syscalls/mknod/mknod05.c
index 4b7e9577266e..34611b57ee92 100644
--- a/testcases/kernel/syscalls/mknod/mknod05.c
+++ b/testcases/kernel/syscalls/mknod/mknod05.c
@@ -18,6 +18,7 @@
#define MODE_RWX 0777
#define MODE_SGID (S_ISGID | 0777)
+#define MODE_FIFO_SGID (S_IFIFO | S_ISGID | 0777)
#define TEMP_DIR "testdir"
#define TEMP_NODE TEMP_DIR "/testnode"
@@ -29,7 +30,7 @@ static void run(void)
{
struct stat buf;
- SAFE_MKNOD(TEMP_NODE, MODE_SGID, 0);
+ SAFE_MKNOD(TEMP_NODE, MODE_FIFO_SGID, 0);
SAFE_STAT(TEMP_NODE, &buf);
TST_EXP_EQ_LI(buf.st_mode & S_ISGID, S_ISGID);
Thanks a lot,
RBM
More information about the ltp
mailing list