[LTP] [PATCH] msgrcv02: Add negative msgtyp tests
xuyang2018.jy@fujitsu.com
xuyang2018.jy@fujitsu.com
Wed Oct 13 10:24:30 CEST 2021
Hi Richard
> Test that we do not get higher message types. Also that -1 msgtyp is not
> misinterpreted as INT_MAX by using MSG_EXCEPT.
Other than some unnecessary spaces or empty lines, this patch looks good
to me.
Reviewed-by: Yang Xu <xuyang2018.jy@fujitsu.com>
Best Regards
Yang Xu
>
> Signed-off-by: Richard Palethorpe<rpalethorpe@suse.com>
> Suggested-by: Cyril Hrubis<chrubis@suse.cz>
> ---
> .../kernel/syscalls/ipc/msgrcv/msgrcv02.c | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv02.c b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv02.c
> index cfb7d7446..fba6a5289 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>
> @@ -38,7 +40,7 @@ struct passwd *pw;
> static struct buf {
> long type;
> char mtext[MSGSIZE];
> -} rcv_buf, snd_buf = {MSGTYPE, "hello"};
> +} rcv_buf, snd_buf = {2, "hello"};
>
> static struct tcase {
> int *id;
> @@ -49,12 +51,15 @@ 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, MSGSIZE - 1, 2, 0, 0, E2BIG},
> + {&queue_id,&rcv_buf, MSGSIZE, 2, 0, 1, EACCES},
> + {&queue_id, NULL, MSGSIZE, 2, 0, 0, EFAULT},
> + {&bad_id,&rcv_buf, MSGSIZE, 2, 0, 0, EINVAL},
> + {&queue_id,&rcv_buf, -1, 2, 0, 0, EINVAL},
> +
> + {&queue_id,&rcv_buf, MSGSIZE, 3, 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},
> };
>
> static void verify_msgrcv(struct tcase *tc)
More information about the ltp
mailing list