]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Generate a ENOSYS (sys_ni_syscall) for clone3 on all linux arches
authorMark Wielaard <mark@klomp.org>
Wed, 21 Jul 2021 17:53:13 +0000 (19:53 +0200)
committerMark Wielaard <mark@klomp.org>
Wed, 21 Jul 2021 17:53:21 +0000 (19:53 +0200)
glibc 2.34 will try to use clone3 first before falling back to
the clone syscall. So implement clone3 as sys_ni_syscall which
simply return ENOSYS without producing a warning.

https://bugs.kde.org/show_bug.cgi?id=439590

coregrind/m_syswrap/syswrap-amd64-linux.c
coregrind/m_syswrap/syswrap-arm-linux.c
coregrind/m_syswrap/syswrap-arm64-linux.c
coregrind/m_syswrap/syswrap-mips32-linux.c
coregrind/m_syswrap/syswrap-mips64-linux.c
coregrind/m_syswrap/syswrap-nanomips-linux.c
coregrind/m_syswrap/syswrap-ppc32-linux.c
coregrind/m_syswrap/syswrap-ppc64-linux.c
coregrind/m_syswrap/syswrap-s390x-linux.c
coregrind/m_syswrap/syswrap-x86-linux.c
include/vki/vki-scnums-shared-linux.h

index 45e1f3d1bb17571c134c1cd7ac9d7d6af30f42a5..3b2dcb8e30798cfc1b69fdda1123a0625fe7fda5 100644 (file)
@@ -874,6 +874,8 @@ static SyscallTableEntry syscall_table[] = {
    LINXY(__NR_io_uring_enter,    sys_io_uring_enter),    // 426
    LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
 
+   GENX_(__NR_clone3,            sys_ni_syscall),        // 435
+
    LINX_(__NR_faccessat2,       sys_faccessat2),        // 439
 };
 
index 428cb7c6fcaac886e52d28e3a969018f1723f139..7f41b074916f6de84df4c78921ac455859e57fcf 100644 (file)
@@ -1051,6 +1051,8 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY(__NR_io_uring_enter,    sys_io_uring_enter),    // 426
    LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
 
+   GENX_(__NR_clone3,            sys_ni_syscall),        // 435
+
    LINX_(__NR_faccessat2,    sys_faccessat2),           // 439
 };
 
index 024ece27f50391791b0c96cf0a068d0e6712e5f0..0d717f44be55c51145923549da6cb363673eee72 100644 (file)
@@ -830,6 +830,8 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY(__NR_io_uring_enter,    sys_io_uring_enter),    // 426
    LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
 
+   GENX_(__NR_clone3,            sys_ni_syscall),        // 435
+
    LINX_(__NR_faccessat2,        sys_faccessat2),        // 439
 };
 
index 62b085ea215427c31b7890638dfae6c28e1f2791..b62129111b46c4e8f416e72e6ef14a048f4efe7b 100644 (file)
@@ -1136,6 +1136,8 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY(__NR_io_uring_enter,          sys_io_uring_enter),          // 426
    LINXY(__NR_io_uring_register,       sys_io_uring_register),       // 427
 
+   GENX_(__NR_clone3,                  sys_ni_syscall),              // 435
+
    LINX_ (__NR_faccessat2,             sys_faccessat2),              // 439
 };
 
index b73c03da16754aee7420e6f54e70d08ea325dfb2..94f38366f0494f11a892cd36327fdaec9a729753 100644 (file)
@@ -815,6 +815,7 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY (__NR_io_uring_setup, sys_io_uring_setup),
    LINXY (__NR_io_uring_enter, sys_io_uring_enter),
    LINXY (__NR_io_uring_register, sys_io_uring_register),
+   GENX_ (__NR_clone3, sys_ni_syscall),
    LINX_ (__NR_faccessat2, sys_faccessat2),
 };
 
index 14127b181a931a9ee771fc50ff4074a068c2cd30..102c1555076c7ca8edbeb2466595a8f18db48449 100644 (file)
@@ -824,6 +824,7 @@ static SyscallTableEntry syscall_main_table[] = {
    LINXY (__NR_io_uring_setup,         sys_io_uring_setup),
    LINXY (__NR_io_uring_enter,         sys_io_uring_enter),
    LINXY (__NR_io_uring_register,      sys_io_uring_register),
+   GENX_ (__NR_clone3,                 sys_ni_syscall),
    LINX_ (__NR_faccessat2,             sys_faccessat2),
 };
 
index aad14f8ba4af4a6837643dee089fe8b4eae6162f..1e2efc6777425803b5c033b4fe03ae43cf2ea8b3 100644 (file)
@@ -1054,6 +1054,8 @@ static SyscallTableEntry syscall_table[] = {
    LINXY(__NR_io_uring_enter,    sys_io_uring_enter),    // 426
    LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
 
+   GENX_(__NR_clone3,            sys_ni_syscall),        // 435
+
    LINX_(__NR_faccessat2,        sys_faccessat2),       // 439
 };
 
index c0e3f554910c53459ac5a78505412cf2787352ff..76610e1423b17a2e2e9907d2333672a49d92776f 100644 (file)
@@ -1023,6 +1023,8 @@ static SyscallTableEntry syscall_table[] = {
    LINXY(__NR_io_uring_enter,    sys_io_uring_enter),    // 426
    LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
 
+   GENX_(__NR_clone3,            sys_ni_syscall),        // 435
+
    LINX_(__NR_faccessat2,        sys_faccessat2),       // 439
 };
 
index af6c4eb210f165b0bccc2b35c7e088335ab880c7..5283c19fe49cd72d5694841d60e0e23de25ea1fb 100644 (file)
@@ -864,6 +864,8 @@ static SyscallTableEntry syscall_table[] = {
    LINXY(__NR_io_uring_enter, sys_io_uring_enter),                    // 426
    LINXY(__NR_io_uring_register, sys_io_uring_register),              // 427
 
+   GENX_(__NR_clone3, sys_ni_syscall),                                // 435
+
    LINX_(__NR_faccessat2,  sys_faccessat2),                           // 439
 };
 
index 67d866497d999eb2144f7cca1ad0fd3513b26de4..418c769750f98eff505da02cd1a85ab125cc10a0 100644 (file)
@@ -1645,6 +1645,8 @@ static SyscallTableEntry syscall_table[] = {
    LINXY(__NR_io_uring_enter,    sys_io_uring_enter),   // 426
    LINXY(__NR_io_uring_register, sys_io_uring_register),// 427
 
+   GENX_(__NR_clone3,            sys_ni_syscall),       // 435
+
    LINX_(__NR_faccessat2,       sys_faccessat2),       // 439
 };
 
index c8bc31b4b3fb26e5f0a5d61e3b981558609f1508..6c70c9981d2650dc0b381590690804231bacfab2 100644 (file)
@@ -39,6 +39,8 @@
 #define __NR_fsmount           432
 #define __NR_fspick            433
 
+#define __NR_clone3            435
+
 #define __NR_faccessat2                439
 
 #endif