From 2fe64148a81f0d78050c302f34a6853d21f7cae4 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Mon, 28 Mar 2022 23:53:33 -0400 Subject: Allow for unpriviledged nested containers If the build itself is run in a container, we may not be able to fully set up a nested container for test-container testing. Notably is the mounting of /proc, since it's critical that it be mounted from within the same PID namespace as its users, and thus cannot be bind mounted from outside the container like other mounts. This patch defaults to using the parent's PID namespace instead of creating a new one, as this is more likely to be allowed. If the test needs an isolated PID namespace, it should add the "pidns" command to its init script. Reviewed-by: Carlos O'Donell --- support/support.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'support/support.h') diff --git a/support/support.h b/support/support.h index 73b9fc4..d20051d 100644 --- a/support/support.h +++ b/support/support.h @@ -91,6 +91,11 @@ char *support_quote_string (const char *); regular file open for writing, and initially empty. */ int support_descriptor_supports_holes (int fd); +/* Predicates that a test requires a working /proc filesystem. This + call will exit with UNSUPPORTED if /proc is not available, printing + WHY_MSG as part of the diagnostic. */ +void support_need_proc (const char *why_msg); + /* Error-checking wrapper functions which terminate the process on error. */ -- cgit v1.1