diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2022-04-16 13:51:16 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2022-04-16 13:53:58 +0200 |
commit | f39616921f4130213a87fade84a4ba2e17604986 (patch) | |
tree | e5388601f7f34a4652bac08988c2f403668f6c46 | |
parent | Drop getaddrinfo patch, let's see what breaks (diff) | |
download | glibc-patches-f39616921f4130213a87fade84a4ba2e17604986.tar.gz glibc-patches-f39616921f4130213a87fade84a4ba2e17604986.tar.bz2 glibc-patches-f39616921f4130213a87fade84a4ba2e17604986.zip |
Revert "Drop clone3 patch"
This reverts commit 9ea49f5686889168627984b71eb6a2721bad712d.
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
-rw-r--r-- | 9999/0020-make-clone3-syscall-optional.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/9999/0020-make-clone3-syscall-optional.patch b/9999/0020-make-clone3-syscall-optional.patch new file mode 100644 index 0000000..4654f06 --- /dev/null +++ b/9999/0020-make-clone3-syscall-optional.patch @@ -0,0 +1,48 @@ +From 57babb0afaa90263a7ea416aa9dc3734bb8ceacc Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 1 Dec 2021 14:58:40 +0000 +Subject: [PATCH 06/14] clone-internal.c: make clone3 syscall optional + +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 https://github.com/electron/electron/pull/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/87eebkf8ph.fsf@oldenburg.str.redhat.com/. + +Signed-off-by: Sam James <sam@gentoo.org> +--- + sysdeps/unix/sysv/linux/clone-internal.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c +index a71effcbd3..60efe1f453 100644 +--- a/sysdeps/unix/sysv/linux/clone-internal.c ++++ b/sysdeps/unix/sysv/linux/clone-internal.c +@@ -48,7 +48,7 @@ __clone_internal (struct clone_args *cl_args, + int (*func) (void *arg), void *arg) + { + int ret; +-#ifdef HAVE_CLONE3_WRAPPER ++#if defined(HAVE_CLONE3_WRAPPER) && defined(GENTOO_USE_CLONE3) + /* Try clone3 first. */ + int saved_errno = errno; + ret = __clone3 (cl_args, sizeof (*cl_args), func, arg); +-- +2.34.1 + |