[PATCH v2] selftests/ipc: skip msgque test when MSG_COPY is unsupported

From: UYeol Jo

Date: Tue Feb 10 2026 - 08:54:15 EST


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 <jouyeol8739@xxxxxxxxx>
---
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