lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Fri, 29 Mar 2024 14:42:44 +0100
From: Paul Menzel <pmenzel@...gen.mpg.de>
To: Christian Brauner <brauner@...nel.org>, Shuah Khan <shuah@...nel.org>
Cc: linux-kselftest@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: pidfd_setns_test.c:428:nsfd_incremental_setns:Too many users - Failed
 to setns to time namespace of 31577 via nsfd 45

Dear Linux folks,


Running the selftests in a QEMU q35 VM, they hang.

```
$ make kselftest
[…]
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 31570 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly 
setns to mnt namespace of 31570 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly 
setns to pid namespace of 31570 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly 
setns to uts namespace of 31570 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly 
setns to ipc namespace of 31570 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly 
setns to net namespace of 31570 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly 
setns to cgroup namespace of 31570 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to correctly 
setns to pid_for_children namespace of 31570 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 31570 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 31577 via nsfd 19
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly 
setns to mnt namespace of 31577 via nsfd 24
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly 
setns to pid namespace of 31577 via nsfd 27
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly 
setns to uts namespace of 31577 via nsfd 30
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly 
setns to ipc namespace of 31577 via nsfd 33
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly 
setns to net namespace of 31577 via nsfd 36
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly 
setns to cgroup namespace of 31577 via nsfd 39
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly 
setns to pid_for_children namespace of 31577 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 31577 via nsfd 45
```

Ctrl + c gets me back to the shell prompt.

```
$ ps auxf
[…]
build      31574  0.0  0.0   2528  1024 pts/0    D    09:57   0:00 
/pidfd_setns_test
build      31575 99.9  0.0   2528  1024 pts/0    R    09:57  37:37  \_ 
/pidfd_setns_test
build      31576  0.0  0.0      0     0 pts/0    Z    09:57   0:00 
\_ [pidfd_setns_tes] <defunct>
build      31577  0.0  0.0      0     0 pts/0    Z    09:57   0:00 
\_ [pidfd_setns_tes] <defunct>
build      31578  0.0  0.0   2528   512 pts/0    S    09:57   0:00 
\_ ./pidfd_setns_test
```

During shutdown, the system waits for that process:

     [42733.704347] systemd-shutdown[1]: Waiting for process: 31578 
(pidfd_setns_tes)

This is commit 8d025e2092e2 with one patch on top:

     $ git log --no-decorate --oneline -2 a2ce022afcbb
     a2ce022afcbb [PATCH] kbuild: Disable KCSAN for autogenerated 
*.mod.c intermediaries
     8d025e2092e2 Merge tag 'erofs-for-6.9-rc2-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs

KCSAN is not enabled though.


Kind regards,

Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ