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(-)
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(); }
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
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
linux-kselftest-mirror@lists.linaro.org