From patchwork Sat Mar 9 13:34:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mirsad Todorovac X-Patchwork-Id: 13587658 Received: from domac.alu.hr (domac.alu.unizg.hr [161.53.235.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B89733BBC6; Sat, 9 Mar 2024 13:40:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=161.53.235.3 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709991621; cv=none; b=CsvLHyxanSNfWRwbIDiYBzt+VSmYw+e7Vx4hxrEv+mN6gEdT9EdAgs4NWDMtM1DNhfgVBkdJCWInlEno41JUk2tEErsgEZ8zvJRmWYc8Q6QNwuFFZxGnAXcLOyhUB9hJEk0mWOAm25UoT3UJ1aSva4MHnGgLtrvkdUS24CIQYe8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709991621; c=relaxed/simple; bh=PFC5T6D2tKf5c6ofLV1pGz7uCP6OQZEn6W6sjUZYhMo=; h=Content-Type:Message-ID:Date:MIME-Version:To:Cc:From:Subject; b=ryEz85f9/aAv3qxhOmBB1cCd67s6+QSgj1ZoYRco6nr7MSRIVN49N5IftSsKRpONGWgcBckjKtHOGXccWTSjdh+yVepDt0LkhK3gsScnWc3Ao9S25E2T3yngwvL9fZt/nFxn/ijA19F9H1+dNhIA038KB0uCYQYhAE6akZg8HjE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=alu.unizg.hr; spf=pass smtp.mailfrom=alu.unizg.hr; dkim=pass (2048-bit key) header.d=alu.unizg.hr header.i=@alu.unizg.hr header.b=teLdZM2y; dkim=pass (2048-bit key) header.d=alu.unizg.hr header.i=@alu.unizg.hr header.b=deiS1GKN; arc=none smtp.client-ip=161.53.235.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=alu.unizg.hr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=alu.unizg.hr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=alu.unizg.hr header.i=@alu.unizg.hr header.b="teLdZM2y"; dkim=pass (2048-bit key) header.d=alu.unizg.hr header.i=@alu.unizg.hr header.b="deiS1GKN" Received: from localhost (localhost [127.0.0.1]) by domac.alu.hr (Postfix) with ESMTP id EDA25601A1; Sat, 9 Mar 2024 14:34:09 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=alu.unizg.hr; s=mail; t=1709991249; bh=PFC5T6D2tKf5c6ofLV1pGz7uCP6OQZEn6W6sjUZYhMo=; h=Date:To:Cc:From:Subject:From; b=teLdZM2y3wwNno27Ey+2k1eDYSq6oTJS+GbgV7URI/cPeuIES9xpYf/U41wLodUL8 8rBUUr2XE6LVmujG4aRGOHN/qMu/bdOnMLoEsD7Hp0saNJ+wJMXWGqMrL6XC49U4hO ajWSlzDxSMGCpqtPoIKX3U7Zw+zi9ltUXYA8fGRW2ZXlHu4iuQ+oP+FZ4CWEYxDP7Z aVQKopc26JvHwYlEAEoWFL8K8HsbTXulRHx+oCET1qEppik7+B9XhIXPYCaztxGp6Q nqSinOiTQFlRUzlMH9vu7a0zOI4Xk1FDpXH/SJKoyR5K+IMValbpHlO2WAs3wdB1li x1EwZdmZT9GtA== X-Virus-Scanned: Debian amavisd-new at domac.alu.hr Received: from domac.alu.hr ([127.0.0.1]) by localhost (domac.alu.hr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JaYAstbgzRQd; Sat, 9 Mar 2024 14:34:06 +0100 (CET) Received: from [192.168.178.20] (dh207-40-27.xnet.hr [88.207.40.27]) by domac.alu.hr (Postfix) with ESMTPSA id 60CC760189; Sat, 9 Mar 2024 14:34:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=alu.unizg.hr; s=mail; t=1709991246; bh=PFC5T6D2tKf5c6ofLV1pGz7uCP6OQZEn6W6sjUZYhMo=; h=Date:To:Cc:From:Subject:From; b=deiS1GKNMDufgZd8BfBdqQOnkbT/a/RKFuQgFr7la/z4KKwG4WTqZP8kPFYV2Idoo CRKt+MhFRsJLjiGERFPWiod6MU5dHouRYLal00LRpt1aVnhJhlwTZundDstBbCsXI+ AZkrWF2+z6xsUddZyTjHLmP97c92oWK8BXz7ObajMLi9QkBW4iwc+12BPBCQzVSQw/ TPZ06gwQYlXS9S78PI9EE4c9eJryFfQtJN0YWrfOeW3cnbN58482IIO/d0jhvtO268 yK0t61r3RivkpEb7hXP1dzAco47mPgpSj+us3Vwu05/YERyM0ulUtINGrugRYWge6E mSm7yLHjXjV2g== Message-ID: Date: Sat, 9 Mar 2024 14:34:01 +0100 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Christian Brauner Cc: Shuah Khan , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org From: Mirsad Todorovac Subject: [BUG net-next selftests/pidfd] Hang in ./pidfd_setns_test pidfd_send_signal() Hi, In the net-next tree commit v6.8-rc7-2348-g75c2946db360, vannila except for this minor mod to selftest suite: ---------------------------------------------------------------------------------------- marvin@defiant:~/linux/kernel/net-next$ git diff marvin@defiant:~/linux/kernel/net-next$ ---------------------------------------------------------------------------------------- there seems to be a bug. The symptom is a hang in forever loop in ./pidfd_setns_test : pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 pidfd_send_signal(18, SIGKILL, NULL, 0) = 0 . . . This could happen here: FIXTURE_TEARDOWN(current_nsset) { int i; → ASSERT_EQ(sys_pidfd_send_signal(self->child_pidfd1, SIGKILL, NULL, 0), 0); → ASSERT_EQ(sys_pidfd_send_signal(self->child_pidfd2, SIGKILL, NULL, 0), 0); for (i = 0; i < PIDFD_NS_MAX; i++) { if (self->nsfds[i] >= 0) close(self->nsfds[i]); if (self->child_nsfds1[i] >= 0) close(self->child_nsfds1[i]); if (self->child_nsfds2[i] >= 0) close(self->child_nsfds2[i]); } if (self->child_pidfd1 >= 0) EXPECT_EQ(0, close(self->child_pidfd1)); if (self->child_pidfd2 >= 0) EXPECT_EQ(0, close(self->child_pidfd2)); ASSERT_EQ(sys_waitid(P_PID, self->child_pid_exited, WEXITED), 0); ASSERT_EQ(sys_waitid(P_PID, self->child_pid1, WEXITED), 0); ASSERT_EQ(sys_waitid(P_PID, self->child_pid2, WEXITED), 0); } The testsuite output is this: root@defiant:/home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd# ./pidfd_setns_test TAP version 13 1..7 # Starting 7 tests from 2 test cases. # RUN global.setns_einval ... # OK global.setns_einval ok 1 global.setns_einval # RUN current_nsset.invalid_flags ... # pidfd_setns_test.c:161:invalid_flags:Expected self->child_pid_exited (0) > 0 (0) # OK current_nsset.invalid_flags ok 2 current_nsset.invalid_flags # RUN current_nsset.pidfd_exited_child ... # pidfd_setns_test.c:161:pidfd_exited_child:Expected self->child_pid_exited (0) > 0 (0) # OK current_nsset.pidfd_exited_child ok 3 current_nsset.pidfd_exited_child # RUN current_nsset.pidfd_incremental_setns ... # pidfd_setns_test.c:161:pidfd_incremental_setns:Expected self->child_pid_exited (0) > 0 (0) # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to user namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to mnt namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to pid namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to uts namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to ipc namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to net namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to cgroup namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to pid_for_children namespace of 1005687 via pidfd 18 # pidfd_setns_test.c:391:pidfd_incremental_setns:Expected setns(self->child_pidfd1, info->flag) (-1) == 0 (0) # pidfd_setns_test.c:392:pidfd_incremental_setns:Too many users - Failed to setns to time namespace of 1005687 via pidfd 18 # pidfd_incremental_setns: Test terminated by timeout # FAIL current_nsset.pidfd_incremental_setns not ok 4 current_nsset.pidfd_incremental_setns # RUN current_nsset.nsfd_incremental_setns ... # pidfd_setns_test.c:161:nsfd_incremental_setns:Expected self->child_pid_exited (0) > 0 (0) # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to user namespace of 1005695 via nsfd 17 # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to mnt namespace of 1005695 via nsfd 22 # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to pid namespace of 1005695 via nsfd 25 # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to uts namespace of 1005695 via nsfd 28 # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to ipc namespace of 1005695 via nsfd 31 # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to net namespace of 1005695 via nsfd 34 # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to cgroup namespace of 1005695 via nsfd 37 # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to pid_for_children namespace of 1005695 via nsfd 40 # pidfd_setns_test.c:427:nsfd_incremental_setns:Expected setns(self->child_nsfds1[i], info->flag) (-1) == 0 (0) # pidfd_setns_test.c:428:nsfd_incremental_setns:Too many users - Failed to setns to time namespace of 1005695 via nsfd 43 # nsfd_incremental_setns: Test terminated by timeout # FAIL current_nsset.nsfd_incremental_setns not ok 5 current_nsset.nsfd_incremental_setns # RUN current_nsset.pidfd_one_shot_setns ... # pidfd_setns_test.c:161:pidfd_one_shot_setns:Expected self->child_pid_exited (0) > 0 (0) # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding user namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding mnt namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding pid namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding uts namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding ipc namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding net namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding cgroup namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding pid_for_children namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding time namespace of 1005710 to list of namespaces to attach to # pidfd_setns_test.c:466:pidfd_one_shot_setns:Expected setns(self->child_pidfd1, flags) (-1) == 0 (0) # pidfd_setns_test.c:467:pidfd_one_shot_setns:Too many users - Failed to setns to namespaces of 1005710 # pidfd_one_shot_setns: Test terminated by timeout # FAIL current_nsset.pidfd_one_shot_setns not ok 6 current_nsset.pidfd_one_shot_setns # RUN current_nsset.no_foul_play ... # pidfd_setns_test.c:161:no_foul_play:Expected self->child_pid_exited (0) > 0 (0) # pidfd_setns_test.c:506:no_foul_play:Adding user namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:506:no_foul_play:Adding mnt namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:506:no_foul_play:Adding pid namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:506:no_foul_play:Adding uts namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:506:no_foul_play:Adding ipc namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:506:no_foul_play:Adding net namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:506:no_foul_play:Adding cgroup namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:506:no_foul_play:Adding time namespace of 1005745 to list of namespaces to attach to # pidfd_setns_test.c:510:no_foul_play:Expected setns(self->child_pidfd1, flags) (-1) == 0 (0) # pidfd_setns_test.c:511:no_foul_play:Too many users - Failed to setns to namespaces of 1005745 vid pidfd 18 # no_foul_play: Test terminated by timeout # FAIL current_nsset.no_foul_play not ok 7 current_nsset.no_foul_play # FAILED: 3 / 7 tests passed. # Totals: pass:3 fail:4 xfail:0 xpass:0 skip:0 error:0 root@defiant:/home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd# The main selftest thread is still hanging with total output of: make[3]: Entering directory '/home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd' TAP version 13 1..7 # timeout set to 45 # selftests: pidfd: pidfd_test # TAP version 13 # 1..8 # # Parent: pid: 958028 # # Parent: Waiting for Child (958029) to complete. # # Child (pidfd): starting. pid 958029 tid 958029 # # Child Thread: starting. pid 958029 tid 958030 ; and sleeping # # Child Thread: doing exec of sleep # # Time waited for child: 3 # ok 1 pidfd_poll check for premature notification on child thread exec test: Passed # # Parent: pid: 958028 # # Parent: Waiting for Child (958031) to complete. # # Child (pidfd): starting. pid 958031 tid 958031 # # Child Thread: starting. pid 958031 tid 958032 ; and sleeping # # Child Thread: doing exec of sleep # # Parent: Child process waited for. # # Time waited for child: 3 # ok 2 pidfd_poll check for premature notification on child thread exec test: Passed # # Parent: pid: 958028 # # Parent: Waiting for Child (958033) to complete. # # Child: starting. pid 958033 tid 958033 # # Child Thread: starting. pid 958033 tid 958034 ; and sleeping # # Child Thread: starting. pid 958033 tid 958035 ; and sleeping # # # Child Thread: DONE. pid 958033 tid 958034 # Child Thread: DONE. pid 958033 tid 958035 # # Time since child exit: 3 # ok 3 pidfd_poll check for premature notification on non-emptygroup leader exit test: Passed # # Parent: pid: 958028 # # Parent: Waiting for Child (958036) to complete. # # Child: starting. pid 958036 tid 958036 # # Child Thread: starting. pid 958036 tid 958037 ; and sleeping # # Child Thread: starting. pid 958036 tid 958038 ; and sleeping # # Child Thread: DONE. pid 958036 tid 958037 # # Child Thread: DONE. pid 958036 tid 958038 # # Parent: Child process waited for. # # Time since child exit: 3 # ok 4 pidfd_poll check for premature notification on non-emptygroup leader exit test: Passed # ok 5 pidfd_send_signal check for support test: pidfd_send_signal() syscall is supported. Tests can be executed # ok 6 pidfd_send_signal send SIGUSR1 test: Sent signal # # waitpid WEXITSTATUS=0 # ok 7 pidfd_send_signal signal exited process test: Failed to send signal as expected # # pid to recycle is 1000 # ok 8 # SKIP pidfd_send_signal signal recycled pid test: Skipping test # # Totals: pass:7 fail:0 xfail:0 xpass:0 skip:1 error:0 ok 1 selftests: pidfd: pidfd_test # timeout set to 45 # selftests: pidfd: pidfd_fdinfo_test # TAP version 13 # 1..2 # # New child: 990827, fd: 5 # # New child: 990828, fd: 6 # # waitpid WEXITSTATUS=0 # # waitpid WEXITSTATUS=0 # ok 1 pidfd check for NSpid in fdinfo test: Passed # # New child: 990830, fd: 5 # # waitpid WEXITSTATUS=0 # ok 2 pidfd check fdinfo for dead process test: Passed # # Totals: pass:2 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 2 selftests: pidfd: pidfd_fdinfo_test # timeout set to 45 # selftests: pidfd: pidfd_open_test # 1..3 # ok 1 do not allow invalid pid test: passed # ok 2 do not allow invalid flag test: passed # ok 3 open a new pidfd test: passed # # pidfd 5 refers to process with pid 990848 # # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 3 selftests: pidfd: pidfd_open_test # timeout set to 45 # selftests: pidfd: pidfd_poll_test # # running pidfd poll test for 10000 iterations # ok 1 pidfd poll test: pass # # Planned tests != run tests (0 != 1) # # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 4 selftests: pidfd: pidfd_poll_test # timeout set to 45 # selftests: pidfd: pidfd_wait # TAP version 13 # 1..3 # # Starting 3 tests from 1 test cases. # # RUN global.wait_simple ... # # OK global.wait_simple # ok 1 global.wait_simple # # RUN global.wait_states ... # # OK global.wait_states # ok 2 global.wait_states # # RUN global.wait_nonblock ... # # OK global.wait_nonblock # ok 3 global.wait_nonblock # # PASSED: 3 / 3 tests passed. # # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 5 selftests: pidfd: pidfd_wait # timeout set to 45 # selftests: pidfd: pidfd_getfd_test # TAP version 13 # 1..4 # # Starting 4 tests from 2 test cases. # # RUN global.flags_set ... # # OK global.flags_set # ok 1 global.flags_set # # RUN child.disable_ptrace ... # # OK child.disable_ptrace # ok 2 child.disable_ptrace # # RUN child.fetch_fd ... # # OK child.fetch_fd # ok 3 child.fetch_fd # # RUN child.test_unknown_fd ... # # OK child.test_unknown_fd # ok 4 child.test_unknown_fd # # PASSED: 4 / 4 tests passed. # # Totals: pass:4 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 6 selftests: pidfd: pidfd_getfd_test # timeout set to 45 # selftests: pidfd: pidfd_setns_test # TAP version 13 # 1..7 # # Starting 7 tests from 2 test cases. # # RUN global.setns_einval ... # # OK global.setns_einval # ok 1 global.setns_einval # # RUN current_nsset.invalid_flags ... # # pidfd_setns_test.c:161:invalid_flags:Expected self->child_pid_exited (0) > 0 (0) # # OK current_nsset.invalid_flags # ok 2 current_nsset.invalid_flags # # RUN current_nsset.pidfd_exited_child ... # # pidfd_setns_test.c:161:pidfd_exited_child:Expected self->child_pid_exited (0) > 0 (0) # # OK current_nsset.pidfd_exited_child # ok 3 current_nsset.pidfd_exited_child # # RUN current_nsset.pidfd_incremental_setns ... # # pidfd_setns_test.c:161:pidfd_incremental_setns:Expected self->child_pid_exited (0) > 0 (0) # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to user namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to mnt namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to pid namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to uts namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to ipc namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to net namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to cgroup namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly setns to pid_for_children namespace of 1000951 via pidfd 20 # # pidfd_setns_test.c:391:pidfd_incremental_setns:Expected setns(self->child_pidfd1, info->flag) (-1) == 0 (0) # # pidfd_setns_test.c:392:pidfd_incremental_setns:Too many users - Failed to setns to time namespace of 1000951 via pidfd 20 # # pidfd_incremental_setns: Test terminated by timeout # # FAIL current_nsset.pidfd_incremental_setns # not ok 4 current_nsset.pidfd_incremental_setns # # RUN current_nsset.nsfd_incremental_setns ... # # pidfd_setns_test.c:161:nsfd_incremental_setns:Expected self->child_pid_exited (0) > 0 (0) # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to user namespace of 1000958 via nsfd 19 # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to mnt namespace of 1000958 via nsfd 24 # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to pid namespace of 1000958 via nsfd 27 # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to uts namespace of 1000958 via nsfd 30 # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to ipc namespace of 1000958 via nsfd 33 # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to net namespace of 1000958 via nsfd 36 # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to cgroup namespace of 1000958 via nsfd 39 # # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly setns to pid_for_children namespace of 1000958 via nsfd 42 # # pidfd_setns_test.c:427:nsfd_incremental_setns:Expected setns(self->child_nsfds1[i], info->flag) (-1) == 0 (0) # # pidfd_setns_test.c:428:nsfd_incremental_setns:Too many users - Failed to setns to time namespace of 1000958 via nsfd 45 [HANG] # ps -efwww root 958005 66430 0 01:04 pts/2 00:00:00 make OUTPUT=/home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd -C pidfd run_tests SRC_PATH=/home/marvin/linux/kernel/net-next/tools/testing/selftests OBJ_PATH=/home/marvin/linux/kernel/net-next/tools/testing/selftests O=/home/marvin/linux/kernel/net-next root 958006 958005 0 01:04 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/net-next/tools/testing/selftests"; . /home/marvin/linux/kernel/net-next/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_fdinfo_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_open_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_poll_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_wait /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_getfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_setns_test root 1000927 958006 0 01:05 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/net-next/tools/testing/selftests"; . /home/marvin/linux/kernel/net-next/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_fdinfo_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_open_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_poll_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_wait /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_getfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_setns_test root 1000928 1000927 0 01:05 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/net-next/tools/testing/selftests"; . /home/marvin/linux/kernel/net-next/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_fdinfo_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_open_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_poll_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_wait /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_getfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_setns_test root 1000929 1000928 0 01:05 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/net-next/tools/testing/selftests"; . /home/marvin/linux/kernel/net-next/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_fdinfo_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_open_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_poll_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_wait /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_getfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_setns_test root 1000932 1000929 0 01:05 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/net-next/tools/testing/selftests"; . /home/marvin/linux/kernel/net-next/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_fdinfo_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_open_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_poll_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_wait /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_getfd_test /home/marvin/linux/kernel/net-next/tools/testing/selftests/pidfd/pidfd_setns_test root 1000934 1000932 0 01:05 pts/2 00:00:00 perl /home/marvin/linux/kernel/net-next/tools/testing/selftests/kselftest/prefix.pl root 1000955 2931 0 01:05 pts/2 00:00:00 ./pidfd_setns_test root 1000956 1000955 99 01:05 pts/2 13:20:17 ./pidfd_setns_test root 1000957 1000956 0 01:05 pts/2 00:00:00 [pidfd_setns_tes] root 1000958 1000956 0 01:05 pts/2 00:00:00 [pidfd_setns_tes] root 1000959 1000956 0 01:05 pts/2 00:00:00 ./pidfd_setns_test in a 99%CPU forever loop: pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 pidfd_send_signal(20, SIGKILL, NULL, 0) = 0 That's about all there is. Nothing interesting in /var/log/syslog or dmesg. Hope this helps. Best regards, Mirsad Todorovac diff --git a/tools/testing/selftests/breakpoints/Makefile b/tools/testing/selftests/breakpoints/Makefile index 9ec2c78de8ca..76a0e3837136 100644 --- a/tools/testing/selftests/breakpoints/Makefile +++ b/tools/testing/selftests/breakpoints/Makefile @@ -3,7 +3,7 @@ uname_M := $(shell uname -m 2>/dev/null || echo not) ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/x86/ -e s/x86_64/x86/) -TEST_GEN_PROGS := step_after_suspend_test +# TEST_GEN_PROGS := step_after_suspend_test ifeq ($(ARCH),x86) TEST_GEN_PROGS += breakpoint_test