LATX, fix: Support CEF sandbox isolation - #344
Closed
y347812075 wants to merge 1 commit into
Closed
Conversation
Support the namespace clone flags used by CEF while preserving RCU state across fork and raw clone paths. Evaluate x86 seccomp-BPF filters at guest syscall boundaries and provide the SIGSYS metadata required by CEF broker traps. Define the stable SECCOMP_RET_USER_NOTIF value for older UAPI headers while keeping user notification unsupported. Signed-off-by: yuerengan <y347812075@163.com>
y347812075
force-pushed
the
fix/cef-sandbox-isolation
branch
from
July 24, 2026 09:39
04ace6e to
d9b3a66
Compare
Contributor
Author
|
Superseded by #349. The replacement is based on the latest master, includes the completed namespace fix, and excludes test-report documentation. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Root cause
LATX rejected the namespace flags used by the CEF zygote before reaching the
host kernel. After namespace creation was enabled, CEF still could not install
its x86 seccomp filters because applying those filters to the LoongArch host
would inspect the wrong syscall ABI and could restrict translator helper
threads. Brokered
SECCOMP_RET_TRAPactions also require the trap ID and guestsyscall context in
siginfo.This change creates the requested host namespaces while maintaining QEMU child
state, and interprets seccomp filters against guest syscall numbers and
arguments before syscall translation.
Compatibility
SECCOMP_RET_USER_NOTIFis conditionally defined for Linux 4.19-era userspaceheaders. User notification and listener FDs remain unsupported and return
ENOSYS; the fallback only provides the stable UAPI action value needed tocompile the existing unsupported-action path.
Validation
./latxbuild/build64.sh./latxbuild/build32.sh./latxbuild/build64.shLATX_AOT=0 LATX_KZT=0The old-world run remained active for 20 seconds and created the expected
zygote, chrome-sandbox, and network-service processes. The logs contained no
clone
EINVAL, debugger startup, rejected BPF filter, unexpected SIGSYS, orstartup SIGTRAP error.