Descriptionsandbox arm64: align stack 16 bytes
chrome fails to start with user namespace sandboxing:
[866:866:0120/134742:FATAL:zygote_host_impl_linux.cc(182)] Check failed: process.IsValid().
Failed to launch zygote process
With strace..
clone(child_stack=0x7ffd28fd98, flags=CLONE_NEWUSER|CLONE_NEWPID|CLONE_NEWNET|SIGCHLD) = -1 EINVAL (Invalid argument)
Which compared to kernel sources[1], shows that stack needs to be 16
bytes aligned. because stack grows downward, this patch assumes
PTHREAD_STACK_MIN is dividable by 16 too.
[1] http://lxr.free-electrons.com/source/arch/arm64/kernel/process.c#L267
BUG=581018
R=keescook@chromium.org,jln@chromium.org,rsesek@chromium.org,thakis@chromium.org
TEST=base_unittests ProcessUtilTest.* and sandbox_linux_unittests NamespaceSandboxTest.*
Committed: https://crrev.com/f352d974e43a73fed311c60c8fcb4dd043b16093
Cr-Commit-Position: refs/heads/master@{#371809}
Patch Set 1 #Patch Set 2 : sandbox arm64: align stack 16 bytes #
Total comments: 1
Patch Set 3 : v3: changed to using ALIGNAS(16) #
Messages
Total messages: 17 (6 generated)
|