[LTP] [PATCH 1/2] msgrcv07: Check negative msg type filters

Cyril Hrubis chrubis@suse.cz
Fri Oct 8 16:14:55 CEST 2021


Hi!
I guess that it would make more sense to add this to the msgrcv02.c as:

diff --git a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv02.c b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv02.c
index cfb7d7446..b305d1f92 100644
--- a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv02.c
+++ b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv02.c
@@ -21,6 +21,8 @@
  *   msgflg and no message of the requested type existed on the message queue.
  */

+#define _GNU_SOURCE
+
 #include <string.h>
 #include <sys/wait.h>
 #include <sys/msg.h>
@@ -35,10 +37,12 @@ static int queue_id = -1;
 static int bad_id = -1;
 struct passwd *pw;

+#define MSGTYP 2
+
 static struct buf {
        long type;
        char mtext[MSGSIZE];
-} rcv_buf, snd_buf = {MSGTYPE, "hello"};
+} rcv_buf, snd_buf = {MSGTYP, "hello"};

 static struct tcase {
        int *id;
@@ -49,12 +53,14 @@ static struct tcase {
        int exp_user;
        int exp_err;
 } tcases[] = {
-       {&queue_id, &rcv_buf, 4, 1, 0, 0, E2BIG},
-       {&queue_id, &rcv_buf, MSGSIZE, 1, 0, 1, EACCES},
-       {&queue_id, NULL, MSGSIZE, 1, 0, 0, EFAULT},
-       {&bad_id, &rcv_buf, MSGSIZE, 1, 0, 0, EINVAL},
-       {&queue_id, &rcv_buf, -1, 1, 0, 0, EINVAL},
-       {&queue_id, &rcv_buf, MSGSIZE, 2, IPC_NOWAIT, 0, ENOMSG},
+       {&queue_id, &rcv_buf, 4, MSGTYP, 0, 0, E2BIG},
+       {&queue_id, &rcv_buf, MSGSIZE, MSGTYP, 0, 1, EACCES},
+       {&queue_id, NULL, MSGSIZE, MSGTYP, 0, 0, EFAULT},
+       {&bad_id, &rcv_buf, MSGSIZE, MSGTYP, 0, 0, EINVAL},
+       {&queue_id, &rcv_buf, -1, MSGTYP, 0, 0, EINVAL},
+       {&queue_id, &rcv_buf, MSGSIZE, MSGTYP+1, IPC_NOWAIT, 0, ENOMSG},
+       {&queue_id, &rcv_buf, MSGSIZE, -1, IPC_NOWAIT, 0, ENOMSG},
+       {&queue_id, &rcv_buf, MSGSIZE, -1, IPC_NOWAIT | MSG_EXCEPT, 0, ENOMSG},
 };


What do you think?

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list