this optimisation of CLONE_SETTLS is not valid used like this, and musl clone(3) will EINVAL on this use -- diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc index 7f925cc..993a9ee 100644 --- a/sandbox/linux/services/credentials.cc +++ b/sandbox/linux/services/credentials.cc @@ -104,7 +104,7 @@ bool ChrootToSafeEmptyDir() { // glibc performs syscalls by calling a function pointer in TLS, so we do not // attempt this optimization. // TODO(crbug.com/40196869) Broken in MSan builds after LLVM f1bb30a4956f. - clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS; + clone_flags |= CLONE_VM | CLONE_VFORK; char tls_buf[PTHREAD_STACK_MIN_CONST] = {}; tls = tls_buf;