thread_audit_test() reports failures through its return value, but
audit.thread joins the thread with a NULL result pointer, so these
failures go unnoticed.

Check the returned value, as the other thread-based audit tests do.

Assisted-by: LLM
Signed-off-by: Günther Noack <[email protected]>
---
 tools/testing/selftests/landlock/audit_test.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/landlock/audit_test.c 
b/tools/testing/selftests/landlock/audit_test.c
index 502a0825d877..81cb31aa32ad 100644
--- a/tools/testing/selftests/landlock/audit_test.c
+++ b/tools/testing/selftests/landlock/audit_test.c
@@ -227,6 +227,7 @@ TEST_F(audit, thread)
        __u64 allocated_dom = 2;
        __u64 deallocated_dom = 3;
        pthread_t thread;
+       void *thread_ret;
        int pipe_child[2], pipe_parent[2];
        char buffer;
        struct thread_data child_data;
@@ -270,7 +271,8 @@ TEST_F(audit, thread)
        /* Signals the thread to exit, which will generate a domain 
deallocation. */
        ASSERT_EQ(1, write(pipe_parent[1], ".", 1));
        EXPECT_EQ(0, close(pipe_parent[1]));
-       ASSERT_EQ(0, pthread_join(thread, NULL));
+       ASSERT_EQ(0, pthread_join(thread, &thread_ret));
+       EXPECT_EQ(NULL, thread_ret);
 
        EXPECT_EQ(0, matches_log_domain_deallocated(
                             self->audit_fd, 1, denial_dom, &deallocated_dom));
-- 
2.56.0


Reply via email to