msgque kselftest uses msgrcv(..., MSG_COPY) to copy messages. When the kernel is built without CONFIG_CHECKPOINT_RESTORE, prepare_copy() is stubbed out and msgrcv() returns -ENOSYS. The test currently reports this as a failure even though it is simply a missing feature/configuration.
Skip the test when msgrcv() fails with ENOSYS. Signed-off-by: UYeol Jo <[email protected]> --- v2: - Clarify in commit message why MSG_COPY returns -ENOSYS without CONFIG_CHECKPOINT_RESTORE (prepare_copy() stub). tools/testing/selftests/ipc/msgque.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/testing/selftests/ipc/msgque.c b/tools/testing/selftests/ipc/msgque.c index e107379d185c..82f73cdae120 100644 --- a/tools/testing/selftests/ipc/msgque.c +++ b/tools/testing/selftests/ipc/msgque.c @@ -161,6 +161,9 @@ int dump_queue(struct msgque_data *msgque) ret = msgrcv(msgque->msq_id, &msgque->messages[i].mtype, MAX_MSG_SIZE, i, IPC_NOWAIT | MSG_COPY); if (ret < 0) { + if (errno == ENOSYS) + ksft_exit_skip("MSG_COPY not supported\n"); + ksft_test_result_fail("Failed to copy IPC message: %m (%d)\n", errno); return -errno; } -- 2.43.0

