Punch a hole for clone3(2) use.
With the cgroups support, this is starting to look like something we
might actually want to use one day. Start preparing now.
Test: treehugger
Change-Id: I7c015bbf6b145b66124ee9ce74816c03e51df7c8
diff --git a/libc/SECCOMP_ALLOWLIST_COMMON.TXT b/libc/SECCOMP_ALLOWLIST_COMMON.TXT
index aba8303..1d58475 100644
--- a/libc/SECCOMP_ALLOWLIST_COMMON.TXT
+++ b/libc/SECCOMP_ALLOWLIST_COMMON.TXT
@@ -11,7 +11,7 @@
# Syscalls used internally by bionic, but not exposed directly.
pid_t gettid() all
int futex(int*, int, int, const timespec*, int*, int) all
-int clone(int (*)(void*), void*, int, void*, ...) all
+pid_t clone(int (*)(void*), void*, int, void*, ...) all
int sigreturn(unsigned long) lp32
int rt_sigreturn(unsigned long) all
int rt_tgsigqueueinfo(pid_t, pid_t, int, siginfo_t*) all
@@ -77,3 +77,8 @@
int rt_sigtimedwait_time64(const sigset64_t*, siginfo_t*, const timespec64*, size_t) lp32
int futex_time64(int*, int, int, const timespec64*, int*, int) lp32
int sched_rr_get_interval_time64(pid_t, timespec64*) lp32
+# Since Linux 5.3, not in glibc. Not used by bionic, but increasingly
+# likely to be useful as new features are added. In particular, cgroups
+# support seems potentially useful for Android (though the struct that
+# changes size over time is obviously problematic).
+pid_t clone3(clone_args*, size_t) all