-
Notifications
You must be signed in to change notification settings - Fork 15.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: crash in seccomp sandbox with glibc 2.34 #31091
Conversation
Release Notes Persisted
|
I have automatically backported this PR to "12-x-y", please check out #31096 |
do we have any ETA for a new 13.x release? TIA |
This is now released in |
We're disabling clone3 for now _CONDITIONALLY_ (not by default) to allow compatibility with applications using older Electron. Use -DGENTOO_USE_CLONE3 to enable clone3 for now. In future, we will revert back to always using clone3. This was impacting e.g. Discord and Skype. This patch stops glibc from using clone3 internally (which is the only real use of it) and falls back to the old behaviour. Specifically, we want electron/electron#31091 to work its way downstream to various Electron applications. https://bugs.gentoo.org/819045 https://bugs.gentoo.org/827386 https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/glibc/plain/debian/patches/ubuntu/disable-clone3.patch This is the same as the patch that was considered but ultimately rejected for 2.34 because Docker got sorted out in time: https://patchwork.ozlabs.org/project/glibc/patch/[email protected]/. Signed-off-by: Sam James <[email protected]>
Subject: Linux sandbox: return ENOSYS for clone3 | ||
|
||
Because clone3 uses a pointer argument rather than a flags argument, we | ||
cannot examine the contents with seccomp, which is essential to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"with seccomp enabled" would better . The way is written makes me think seccomp is used to examine contents
This patch was originally carried in Gentoo to make clone3 optional to avoid breakage for CEF/steam/zoom, and others. Gentoo made clone3 mandatory but ChromeOS is not there yet, so we carry this trivial patch to allow us to keep clone3 disabled for a while longer. See b:288928916 which is tracking the clone3 migration. Original commit message: We're disabling clone3 for now _CONDITIONALLY_ (not by default) to allow compatibility with applications using older Electron. Use -DGENTOO_USE_CLONE3 to enable clone3 for now. In future, we will revert back to always using clone3. This was impacting e.g. Discord and Skype. This patch stops glibc from using clone3 internally (which is the only real use of it) and falls back to the old behaviour. Specifically, we want electron/electron#31091 to work its way downstream to various Electron applications. https://bugs.gentoo.org/819045 https://bugs.gentoo.org/827386 https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/glibc/plain/debian/patches/ubuntu/disable-clone3.patch This is the same as the patch that was considered but ultimately rejected for 2.34 because Docker got sorted out in time: https://patchwork.ozlabs.org/project/glibc/patch/[email protected]/. Signed-off-by: Sam James <[email protected]>
Description of Change
Refs https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1944468
Refs https://bugs.chromium.org/p/chromium/issues/detail?id=1244383
Refs https://bugs.chromium.org/p/chromium/issues/detail?id=1213452
The fix is available in Electron >= 14
Checklist
npm test
passesRelease Notes
Notes: fix crash in seccomp sandbox with glibc 2.34