diff mbox series

selftests/ipc: Fix msgque compiler warnings

Message ID 20190408171344.GA22803@beast (mailing list archive)
State Mainlined
Commit a147faa96f832f76e772b1e448e94ea84c774081
Headers show
Series selftests/ipc: Fix msgque compiler warnings | expand

Commit Message

Kees Cook April 8, 2019, 5:13 p.m. UTC
This fixes the various compiler warnings when building the msgque
selftest. The primary change is using sys/msg.h instead of linux/msg.h
directly to gain the API declarations.

Fixes: 3a665531a3b7 ("selftests: IPC message queue copy feature test")
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 tools/testing/selftests/ipc/msgque.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Comments

Davidlohr Bueso April 8, 2019, 8:01 p.m. UTC | #1
On Mon, 08 Apr 2019, Kees Cook wrote:

>This fixes the various compiler warnings when building the msgque
>selftest. The primary change is using sys/msg.h instead of linux/msg.h
>directly to gain the API declarations.
>
>Fixes: 3a665531a3b7 ("selftests: IPC message queue copy feature test")
>Signed-off-by: Kees Cook <keescook@chromium.org>

(Not really related to this patch)

Given that the selftest/ipc/ only consists of this test, I wonder if
the test should just be moved to ltp, where the ipc tests are a lot
more complete and robust -- and which I've been using for years for
basic testing code changes.

Don't get me wrong, I'm all for having ipc tests in the kernel, but it
seems rather impractical to have them in both places considering the
relevance of ltp in the community and how long they have existed there.

I'm also speaking on the basis that by ipc we are referring only to
sysv and posix flavors.

Thanks,
Davidlohr
shuah April 19, 2019, 7:10 p.m. UTC | #2
On 4/8/19 2:01 PM, Davidlohr Bueso wrote:
> On Mon, 08 Apr 2019, Kees Cook wrote:
> 
>> This fixes the various compiler warnings when building the msgque
>> selftest. The primary change is using sys/msg.h instead of linux/msg.h
>> directly to gain the API declarations.
>>
>> Fixes: 3a665531a3b7 ("selftests: IPC message queue copy feature test")
>> Signed-off-by: Kees Cook <keescook@chromium.org>
> 
> (Not really related to this patch)
> 
> Given that the selftest/ipc/ only consists of this test, I wonder if
> the test should just be moved to ltp, where the ipc tests are a lot
> more complete and robust -- and which I've been using for years for
> basic testing code changes.
> 

Having this test in here helps us find regressions quickly. It does good
and no harm keeping this test in here.

I don't think it is a good idea to remove it all together.

thanks,
-- Shuah
diff mbox series

Patch

diff --git a/tools/testing/selftests/ipc/msgque.c b/tools/testing/selftests/ipc/msgque.c
index dac927e82336..4c156aeab6b8 100644
--- a/tools/testing/selftests/ipc/msgque.c
+++ b/tools/testing/selftests/ipc/msgque.c
@@ -1,9 +1,10 @@ 
 // SPDX-License-Identifier: GPL-2.0
+#define _GNU_SOURCE
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
-#include <linux/msg.h>
+#include <sys/msg.h>
 #include <fcntl.h>
 
 #include "../kselftest.h"
@@ -73,7 +74,7 @@  int restore_queue(struct msgque_data *msgque)
 	return 0;
 
 destroy:
-	if (msgctl(id, IPC_RMID, 0))
+	if (msgctl(id, IPC_RMID, NULL))
 		printf("Failed to destroy queue: %d\n", -errno);
 	return ret;
 }
@@ -120,7 +121,7 @@  int check_and_destroy_queue(struct msgque_data *msgque)
 
 	ret = 0;
 err:
-	if (msgctl(msgque->msq_id, IPC_RMID, 0)) {
+	if (msgctl(msgque->msq_id, IPC_RMID, NULL)) {
 		printf("Failed to destroy queue: %d\n", -errno);
 		return -errno;
 	}
@@ -129,7 +130,7 @@  int check_and_destroy_queue(struct msgque_data *msgque)
 
 int dump_queue(struct msgque_data *msgque)
 {
-	struct msqid64_ds ds;
+	struct msqid_ds ds;
 	int kern_id;
 	int i, ret;
 
@@ -245,7 +246,7 @@  int main(int argc, char **argv)
 	return ksft_exit_pass();
 
 err_destroy:
-	if (msgctl(msgque.msq_id, IPC_RMID, 0)) {
+	if (msgctl(msgque.msq_id, IPC_RMID, NULL)) {
 		printf("Failed to destroy queue: %d\n", -errno);
 		return ksft_exit_fail();
 	}