Generate a ENOSYS (sys_ni_syscall) for clone3 on all linux arches

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
This commit is contained in:
Mark Wielaard 2021-07-21 19:53:13 +02:00
parent 74cc3babae
commit 52ed51fc35
11 changed files with 20 additions and 0 deletions

View 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
};

View 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
};

View 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
};

View 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
};

View 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),
};

View 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),
};

View 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
};

View 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
};

View 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
};

View 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
};

View File

@ -39,6 +39,8 @@
#define __NR_fsmount 432
#define __NR_fspick 433
#define __NR_clone3 435
#define __NR_faccessat2 439
#endif