mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-03-18 04:54:52 +00:00
linux-kselftest-fixes-6.1-rc4
This Kselftest fixes update for Linux 6.1-rc4 consists of fixes to pidfd test. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEPZKym/RZuOCGeA/kCwJExA0NQxwFAmNjwB0ACgkQCwJExA0N QxxRmBAA3+k/OJuQU6dFGrYfUi1UOOXsGWfNBIz6C1BHnXqXxbdgd76cxN6bYGGd uE10fVZObHi8LXaFhVadKuT0Y17nLa+OQEbHY8FvHgSm0jbF+uO4YDjHmkv7L1ba tKISeVie7Wg9FcioCjaUnuwzmcK9lgeEW0KDkb8MBfng6V6GniASbLpEE8heJMZj Uca/amX/vMOUyHCoI1ioZSfiEPwQIppD8X9RURWsKjT72lsKdASZ6eM6/WyIkZ8g tQ8GiSq5LXbk827ec3buH//vvCZSHZpFmU4zG8fBDIzEOTTcapDWzRjyt1VI8Qep ZTs2xMhfMpbWVOB/ZO7FHglEjHRgNIwvKPZVMNc+K5QjOlGN6TepFgy546tjHWdm FmjSwRnj4JMvpvuCeinvLNX1uwVBNUZ0jsHSSjX/6BfUMnlvwqRrlSe5fM81NpcM m7aB548JpBDWDl66376THvEAJ3cLGioLMthQIpSw7VOVx2fystxEfRuGwBouEWYV IMe83G8ZPIMs19Za1jIofEpbY6UblNyN45o2NV69El9mWRo6calepTB7tuCPqOGy sYz4rx3stpMRJbMy4VATbsNFkZnQTv4lwU4HVgWarDcx1gxIvvhCButYhBJlGGFA lAZDaCulr+aGGgamzUlZVpO+6T3zaGbDyW8PeWJR8k6j+Z2qFO0= =nB5s -----END PGP SIGNATURE----- Merge tag 'linux-kselftest-fixes-6.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull Kselftest fixes from Shuah Khan: "Fixes to the pidfd test" * tag 'linux-kselftest-fixes-6.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/pidfd_test: Remove the erroneous ',' selftests: pidfd: Fix compling warnings ksefltests: pidfd: Fix wait_states: Test terminated by timeout
This commit is contained in:
commit
5fdf9c4547
3 changed files with 15 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
CFLAGS += -g -I../../../../usr/include/ -pthread
|
||||
CFLAGS += -g -I../../../../usr/include/ -pthread -Wall
|
||||
|
||||
TEST_GEN_PROGS := pidfd_test pidfd_fdinfo_test pidfd_open_test \
|
||||
pidfd_poll_test pidfd_wait pidfd_getfd_test pidfd_setns_test
|
||||
|
|
|
@ -413,7 +413,7 @@ static void poll_pidfd(const char *test_name, int pidfd)
|
|||
|
||||
c = epoll_wait(epoll_fd, events, MAX_EVENTS, 5000);
|
||||
if (c != 1 || !(events[0].events & EPOLLIN))
|
||||
ksft_exit_fail_msg("%s test: Unexpected epoll_wait result (c=%d, events=%x) ",
|
||||
ksft_exit_fail_msg("%s test: Unexpected epoll_wait result (c=%d, events=%x) "
|
||||
"(errno %d)\n",
|
||||
test_name, c, events[0].events, errno);
|
||||
|
||||
|
@ -435,6 +435,8 @@ static int child_poll_exec_test(void *args)
|
|||
*/
|
||||
while (1)
|
||||
sleep(1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void test_pidfd_poll_exec(int use_waitpid)
|
||||
|
|
|
@ -95,20 +95,28 @@ TEST(wait_states)
|
|||
.flags = CLONE_PIDFD | CLONE_PARENT_SETTID,
|
||||
.exit_signal = SIGCHLD,
|
||||
};
|
||||
int pfd[2];
|
||||
pid_t pid;
|
||||
siginfo_t info = {
|
||||
.si_signo = 0,
|
||||
};
|
||||
|
||||
ASSERT_EQ(pipe(pfd), 0);
|
||||
pid = sys_clone3(&args);
|
||||
ASSERT_GE(pid, 0);
|
||||
|
||||
if (pid == 0) {
|
||||
char buf[2];
|
||||
|
||||
close(pfd[1]);
|
||||
kill(getpid(), SIGSTOP);
|
||||
ASSERT_EQ(read(pfd[0], buf, 1), 1);
|
||||
close(pfd[0]);
|
||||
kill(getpid(), SIGSTOP);
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
close(pfd[0]);
|
||||
ASSERT_EQ(sys_waitid(P_PIDFD, pidfd, &info, WSTOPPED, NULL), 0);
|
||||
ASSERT_EQ(info.si_signo, SIGCHLD);
|
||||
ASSERT_EQ(info.si_code, CLD_STOPPED);
|
||||
|
@ -117,6 +125,8 @@ TEST(wait_states)
|
|||
ASSERT_EQ(sys_pidfd_send_signal(pidfd, SIGCONT, NULL, 0), 0);
|
||||
|
||||
ASSERT_EQ(sys_waitid(P_PIDFD, pidfd, &info, WCONTINUED, NULL), 0);
|
||||
ASSERT_EQ(write(pfd[1], "C", 1), 1);
|
||||
close(pfd[1]);
|
||||
ASSERT_EQ(info.si_signo, SIGCHLD);
|
||||
ASSERT_EQ(info.si_code, CLD_CONTINUED);
|
||||
ASSERT_EQ(info.si_pid, parent_tid);
|
||||
|
@ -138,7 +148,7 @@ TEST(wait_states)
|
|||
|
||||
TEST(wait_nonblock)
|
||||
{
|
||||
int pidfd, status = 0;
|
||||
int pidfd;
|
||||
unsigned int flags = 0;
|
||||
pid_t parent_tid = -1;
|
||||
struct clone_args args = {
|
||||
|
|
Loading…
Add table
Reference in a new issue