Unverified Commit 6952a4f6 authored by Christian Brauner's avatar Christian Brauner
Browse files

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]: 49cb2fc4 ("fork: extend clone3() to support setting a PID")
[2]: b26ebfe1 ("pid: Fix error return value in some cases")
[3]: 35f71bc0 ("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: default avatarChristian Brauner <christian.brauner@ubuntu.com>
parent 2c523b34
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -13158,6 +13158,7 @@ S: Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git
F:	samples/pidfd/
F:	samples/pidfd/
F:	tools/testing/selftests/pidfd/
F:	tools/testing/selftests/pidfd/
F:	tools/testing/selftests/pid_namespace/
F:	tools/testing/selftests/clone3/
F:	tools/testing/selftests/clone3/
K:	(?i)pidfd
K:	(?i)pidfd
K:	(?i)clone3
K:	(?i)clone3
+1 −0
Original line number Original line Diff line number Diff line
@@ -38,6 +38,7 @@ TARGETS += netfilter
TARGETS += networking/timestamping
TARGETS += networking/timestamping
TARGETS += nsfs
TARGETS += nsfs
TARGETS += pidfd
TARGETS += pidfd
TARGETS += pid_namespace
TARGETS += powerpc
TARGETS += powerpc
TARGETS += proc
TARGETS += proc
TARGETS += pstore
TARGETS += pstore
+1 −0
Original line number Original line Diff line number Diff line
regression_enomem
+8 −0
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
CFLAGS += -g -I../../../../usr/include/

TEST_GEN_PROGS := regression_enomem

include ../lib.mk

$(OUTPUT)/regression_enomem: regression_enomem.c ../pidfd/pidfd.h
+2 −0
Original line number Original line Diff line number Diff line
CONFIG_PID_NS=y
CONFIG_USER_NS=y
Loading