[arch-commits] Commit in glibc/trunk (PKGBUILD disable-clone3.diff)
Frederik Schwan
freswa at gemini.archlinux.org
Thu Feb 10 23:18:55 UTC 2022
Date: Thursday, February 10, 2022 @ 23:18:55
Author: freswa
Revision: 436918
add patch to disable clone3
the clone3 syscall breaks unpatched electron applications
fixes FS#73713
Added:
glibc/trunk/disable-clone3.diff
Modified:
glibc/trunk/PKGBUILD
---------------------+
PKGBUILD | 13 +++++++++++--
disable-clone3.diff | 22 ++++++++++++++++++++++
2 files changed, 33 insertions(+), 2 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-02-10 23:15:24 UTC (rev 436917)
+++ PKGBUILD 2022-02-10 23:18:55 UTC (rev 436918)
@@ -22,7 +22,8 @@
locale.gen.txt
locale-gen
lib32-glibc.conf
- sdt.h sdt-config.h)
+ sdt.h sdt-config.h
+ disable-clone3.diff)
validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell
BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar
b2sums=('623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063'
@@ -31,7 +32,8 @@
'1f6d927b4972220b1c00abee5329c5d6bc01ed5bee57b20db0c7d7433292f7d666b02baf9968267f8e378b1f3bb273e8eef0ccbf22d21400ac36949d7615a474'
'7c265e6d36a5c0dff127093580827d15519b6c7205c2e1300e82f0fb5b9dd00b6accb40c56581f18179c4fbbc95bd2bf1b900ace867a83accde0969f7b609f8a'
'a6a5e2f2a627cc0d13d11a82458cfd0aa75ec1c5a3c7647e5d5a3bb1d4c0770887a3909bfda1236803d5bc9801bfd6251e13483e9adf797e4725332cd0d91a0e'
- '214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678')
+ '214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678'
+ 'edef5f724f68ea95c6b0127bd13a10245f548afc381b2d0a6d1d06ee9f87b7dd89c6becd35d5ae722bf838594eb870a747f67f07f46e7d63f8c8d1a43cce4a52')
prepare() {
mkdir -p glibc-build lib32-glibc-build
@@ -38,6 +40,13 @@
[[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc
cd glibc
+
+ # Disable clone3 syscall for now
+ # Can be removed when eletron{9,11,12} and discord are removed or patched:
+ # https://github.com/electron/electron/commit/993ecb5bdd5c57024c8718ca6203a8f924d6d574
+ # Patch src: https://patchwork.ozlabs.org/project/glibc/patch/87eebkf8ph.fsf@oldenburg.str.redhat.com/
+ patch -Np1 -i "${srcdir}"/disable-clone3.diff
+
}
build() {
Added: disable-clone3.diff
===================================================================
--- disable-clone3.diff (rev 0)
+++ disable-clone3.diff 2022-02-10 23:18:55 UTC (rev 436918)
@@ -0,0 +1,22 @@
+diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c
+index 1e7a8f6b35..4046c81180 100644
+--- a/sysdeps/unix/sysv/linux/clone-internal.c
++++ b/sysdeps/unix/sysv/linux/clone-internal.c
+@@ -48,17 +48,6 @@ __clone_internal (struct clone_args *cl_args,
+ int (*func) (void *arg), void *arg)
+ {
+ int ret;
+-#ifdef HAVE_CLONE3_WRAPPER
+- /* Try clone3 first. */
+- int saved_errno = errno;
+- ret = __clone3 (cl_args, sizeof (*cl_args), func, arg);
+- if (ret != -1 || errno != ENOSYS)
+- return ret;
+-
+- /* NB: Restore errno since errno may be checked against non-zero
+- return value. */
+- __set_errno (saved_errno);
+-#endif
+
+ /* Map clone3 arguments to clone arguments. NB: No need to check
+ invalid clone3 specific bits in flags nor exit_signal since this
More information about the arch-commits
mailing list