Christian Brauner
55d9ad97e4
tests: add CLONE_NEWTIME setns tests
...
Now that pidfds support CLONE_NEWTIME as well enable testing them in the
setns() testuite.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
Cc: Serge Hallyn <serge@hallyn.com >
Cc: Michael Kerrisk <mtk.manpages@gmail.com >
Cc: Dmitry Safonov <dima@arista.com >
Cc: Andrei Vagin <avagin@gmail.com >
Link: https://lore.kernel.org/r/20200706154912.3248030-5-christian.brauner@ubuntu.com
2020-07-08 11:14:22 +02:00
Christian Brauner
86f56395fe
tests: test for setns() EINVAL regression
...
Verify that setns() reports EINVAL when an fd is passed that refers to an
open file but the file is not a file descriptor useable to interact with
namespaces.
Cc: Jan Stancek <jstancek@redhat.com >
Cc: Cyril Hrubis <chrubis@suse.cz >
Link: https://lore.kernel.org/lkml/20200615085836.GR12456@shao2-debian
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
2020-06-17 00:48:54 +02:00
Christian Brauner
6952a4f646
selftests: add pid namespace ENOMEM regression test
...
We recently regressed (cf. [1] and its corresponding fix in [2]) returning
ENOMEM when trying to create a process in a pid namespace whose init
process/child subreaper has already died. This has caused confusion at
least once before that (cf. [3]). Let's add a simple regression test to
catch this in the future.
[1]: 49cb2fc42c
("fork: extend clone3() to support setting a PID")
[2]: b26ebfe12f
("pid: Fix error return value in some cases")
[3]: 35f71bc0a0
("fork: report pid reservation failure properly")
Cc: Corey Minyard <cminyard@mvista.com >
Cc: Oleg Nesterov <oleg@redhat.com >
Cc: Adrian Reber <areber@redhat.com >
Cc: Dmitry Safonov <0x7f454c46@gmail.com >
Cc: Andrei Vagin <avagin@gmail.com >
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
2020-03-25 13:50:34 +01:00
Sargun Dhillon
873dfd7881
test: Add test for pidfd getfd
...
The following tests:
* Fetch FD, and then compare via kcmp
* Make sure getfd can be blocked by blocking ptrace_may_access
* Making sure fetching bad FDs fails
* Make sure trying to set flags to non-zero results in an EINVAL
Signed-off-by: Sargun Dhillon <sargun@sargun.me >
Acked-by: Christian Brauner <christian.brauner@ubuntu.com >
Link: https://lore.kernel.org/r/20200107175927.4558-5-sargun@sargun.me
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
2020-01-13 21:49:54 +01:00
Suren Baghdasaryan
2ec2f99abd
tests: move common definitions and functions into pidfd.h
...
Move definitions and functions used across different pidfd tests into
pidfd.h header.
Signed-off-by: Suren Baghdasaryan <surenb@google.com >
Reviewed-by: Christian Brauner <christian@brauner.io >
Link: https://lore.kernel.org/r/20190726162226.252750-1-surenb@google.com
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
2019-08-06 19:39:45 +02:00
Christian Brauner
e63f308570
pidfd: add pidfd_wait tests
...
Add tests for pidfd_wait() and CLONE_WAIT_PID:
- test that waitid(P_PIDFD) fails on /proc/<pid>
- test that waitid(P_PIDFD) fails on /dev/null
- test that waitid(P_PIDFD) can wait on a pidfd
- test that waitid(P_PIDFD) can wait on a pidfd and return siginfo_t
- test that waitid(P_PIDFD) works with WEXITED
- test that waitid(P_PIDFD) works with WSTOPPED
- test that waitid(P_PIDFD) works with WUNTRACED
- test that waitid(P_PIDFD) works with WCONTINUED
- test that waitid(P_PIDFD) works with WNOWAIT
- test that waitid(P_PIDFD)works with WNOHANG
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: Joel Fernandes (Google) <joel@joelfernandes.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: David Howells <dhowells@redhat.com >
Cc: Jann Horn <jannh@google.com >
Cc: Andy Lutomirsky <luto@kernel.org >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Oleg Nesterov <oleg@redhat.com >
Cc: Aleksa Sarai <cyphar@cyphar.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Al Viro <viro@zeniv.linux.org.uk >
Link: https://lore.kernel.org/r/20190727222229.6516-3-christian@brauner.io
2019-08-06 19:39:30 +02:00
Christian Brauner
172bb24a4f
tests: add pidfd_open() tests
...
This adds testing for the new pidfd_open() syscalls. Specifically, we test:
- that no invalid flags can be passed to pidfd_open()
- that no invalid pid can be passed to pidfd_open()
- that a pidfd can be retrieved with pidfd_open()
- that the retrieved pidfd references the correct pid
Signed-off-by: Christian Brauner <christian@brauner.io >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Cc: Kees Cook <keescook@chromium.org >
Cc: Joel Fernandes (Google) <joel@joelfernandes.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Jann Horn <jannh@google.com >
Cc: David Howells <dhowells@redhat.com >
Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com >
Cc: Andy Lutomirsky <luto@kernel.org >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Oleg Nesterov <oleg@redhat.com >
Cc: Aleksa Sarai <cyphar@cyphar.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Al Viro <viro@zeniv.linux.org.uk >
Cc: linux-api@vger.kernel.org
2019-06-28 12:17:55 +02:00