[LTP] [PATCH v5 4/8] syscalls/mknod04: Convert to new API

Petr Vorel pvorel@suse.cz
Fri Jun 6 15:59:19 CEST 2025


Hi Ricardo,

> > +++ 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,

Sure. Yeah, both mknod[45].c should use also S_IFIFO for both mknod() and
chmod(). Changed both.

Merged the rest of the patchset, thank you for the rewrite!

As there were quite a lot of changes, here is the following diff for mknod[3-8].c.

Kind regards,
Petr

> RBM

diff --git testcases/kernel/syscalls/mknod/mknod03.c testcases/kernel/syscalls/mknod/mknod03.c
index 00a6133f7a..8cb9be9287 100644
--- testcases/kernel/syscalls/mknod/mknod03.c
+++ testcases/kernel/syscalls/mknod/mknod03.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0-only
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  * Copyright (c) International Business Machines Corp., 2001
  *	07/2001 Ported by Wayne Boyer
diff --git testcases/kernel/syscalls/mknod/mknod04.c testcases/kernel/syscalls/mknod/mknod04.c
index ceb9565b4d..441894b3b9 100644
--- testcases/kernel/syscalls/mknod/mknod04.c
+++ testcases/kernel/syscalls/mknod/mknod04.c
@@ -17,7 +17,8 @@
 #include "tst_test.h"
 
 #define MODE_RWX 0777
-#define MODE_SGID (S_ISGID | 0777)
+#define MODE_FIFO (S_IFIFO | 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_RWX, 0);
+	SAFE_MKNOD(TEMP_NODE, MODE_FIFO, 0);
 
 	SAFE_STAT(TEMP_NODE, &buf);
 	TST_EXP_EQ_LI(buf.st_mode & S_ISGID, 0);
@@ -48,7 +49,7 @@ static void setup(void)
 
 	SAFE_MKDIR(TEMP_DIR, MODE_RWX);
 	SAFE_CHOWN(TEMP_DIR, nobody_uid, free_gid);
-	SAFE_CHMOD(TEMP_DIR, MODE_SGID);
+	SAFE_CHMOD(TEMP_DIR, MODE_FIFO_SGID);
 
 	SAFE_SETGID(nobody_gid);
 	SAFE_SETREUID(-1, nobody_uid);
diff --git testcases/kernel/syscalls/mknod/mknod05.c testcases/kernel/syscalls/mknod/mknod05.c
index 4b7e957726..bfac9227b9 100644
--- testcases/kernel/syscalls/mknod/mknod05.c
+++ testcases/kernel/syscalls/mknod/mknod05.c
@@ -7,8 +7,8 @@
 
 /*\
  * Verify that mknod(2) succeeds when used to create a filesystem node with
- * set group-ID bit set on a directory with set group-ID bit set. The node
- * created should have set group-ID bit set and its gid should be equal to
+ * set-group-ID bit set on a directory with set-group-ID bit set. The node
+ * created should have set-group-ID bit set and its gid should be equal to
  * that of its parent directory.
  */
 
@@ -17,7 +17,7 @@
 #include "tst_test.h"
 
 #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 +29,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);
@@ -48,7 +48,7 @@ static void setup(void)
 
 	SAFE_MKDIR(TEMP_DIR, MODE_RWX);
 	SAFE_CHOWN(TEMP_DIR, nobody_uid, free_gid);
-	SAFE_CHMOD(TEMP_DIR, MODE_SGID);
+	SAFE_CHMOD(TEMP_DIR, MODE_FIFO_SGID);
 }
 
 static struct tst_test test = {


More information about the ltp mailing list