[PATCH 0/3] selftests/namespaces: Fix test hangs and false failures

From: Ricardo B. Marlière

Date: Tue Apr 07 2026 - 10:36:01 EST


This series addresses three reliability problems in the namespaces selftest
suite that cause tests to hang or report incorrect results.

The first patch fixes a hang in nsid_test where the grandchild process is
not reaped during fixture teardown, leaving it alive and holding the TAP
pipe write-end open so the test runner blocks indefinitely waiting for EOF.

The second and third patches fix two problems in listns_efault_test: a
waitpid(-1) race that can cause the iterator child to be consumed during
namespace cleanup (leading to an indefinite block on the subsequent targeted
waitpid), and a false FAIL verdict on kernels that do not implement listns()
(the EFAULT tests should SKIP in that case, consistent with every other
listns test that already handles ENOSYS correctly).

Assisted-by: Claude Sonnet 4.6
Signed-off-by: Ricardo B. Marliere <rbm@xxxxxxxx>
---
Ricardo B. Marlière (3):
selftests/namespaces: Kill grandchild in nsid fixture teardown
selftests/namespaces: Fix waitpid race in listns_efault_test cleanup
selftests/namespaces: Skip efault tests when listns() is not available

.../selftests/namespaces/listns_efault_test.c | 33 ++++++++++++++++++----
tools/testing/selftests/namespaces/nsid_test.c | 14 ++++++++-
2 files changed, 40 insertions(+), 7 deletions(-)
---
base-commit: bfe62a454542cfad3379f6ef5680b125f41e20f4
change-id: 20260407-selftests-namespaces_fixes-43ff47179e5c

Best regards,
--
Ricardo B. Marlière <rbm@xxxxxxxx>