]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests: don't kill child immediately in get_metadata() test
authorTycho Andersen <tycho@tycho.ws>
Sat, 19 Jan 2019 00:12:12 +0000 (17:12 -0700)
committerShuah Khan <shuah@kernel.org>
Wed, 13 Feb 2019 15:34:16 +0000 (08:34 -0700)
This this test forks a child, and then the parent waits for a write() to a
pipe signalling the child is ready to be attached to. If something in the
child ASSERTs before it does this write, the test will hang waiting for it.
Instead, let's EXPECT, so that execution continues until we do the write.
Any failure after that is fine and can ASSERT.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Shuah Khan <shuah@kernel.org>
tools/testing/selftests/seccomp/seccomp_bpf.c

index 7e632b465ab48eea860ab32e2a2cb9b2ea1d0a4f..e67395f08cd947bb11b1208a2c5432af0dfcc62d 100644 (file)
@@ -2985,11 +2985,11 @@ TEST(get_metadata)
                };
 
                /* one with log, one without */
-               ASSERT_EQ(0, seccomp(SECCOMP_SET_MODE_FILTER,
+               EXPECT_EQ(0, seccomp(SECCOMP_SET_MODE_FILTER,
                                     SECCOMP_FILTER_FLAG_LOG, &prog));
-               ASSERT_EQ(0, seccomp(SECCOMP_SET_MODE_FILTER, 0, &prog));
+               EXPECT_EQ(0, seccomp(SECCOMP_SET_MODE_FILTER, 0, &prog));
 
-               ASSERT_EQ(0, close(pipefd[0]));
+               EXPECT_EQ(0, close(pipefd[0]));
                ASSERT_EQ(1, write(pipefd[1], "1", 1));
                ASSERT_EQ(0, close(pipefd[1]));