summaryrefslogtreecommitdiffstats
path: root/kernel/sys_ni.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2024-05-08 17:13:34 +0200
committerArnd Bergmann <arnd@arndb.de>2024-07-10 14:23:38 +0200
commit505d66d1abfb90853e24ab6cbdf83b611473d6fc (patch)
tree3af6512a4ddedb9fe9bba6217ab9621eb8d32a01 /kernel/sys_ni.c
parentkbuild: add syscall table generation to scripts/Makefile.asm-headers (diff)
downloadlinux-505d66d1abfb90853e24ab6cbdf83b611473d6fc.tar.xz
linux-505d66d1abfb90853e24ab6cbdf83b611473d6fc.zip
clone3: drop __ARCH_WANT_SYS_CLONE3 macro
When clone3() was introduced, it was not obvious how each architecture deals with setting up the stack and keeping the register contents in a fork()-like system call, so this was left for the architecture maintainers to implement, with __ARCH_WANT_SYS_CLONE3 defined by those that already implement it. Five years later, we still have a few architectures left that are missing clone3(), and the macro keeps getting in the way as it's fundamentally different from all the other __ARCH_WANT_SYS_* macros that are meant to provide backwards-compatibility with applications using older syscalls that are no longer provided by default. Address this by reversing the polarity of the macro, adding an __ARCH_BROKEN_SYS_CLONE3 macro to all architectures that don't already provide the syscall, and remove __ARCH_WANT_SYS_CLONE3 from all the other ones. Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'kernel/sys_ni.c')
-rw-r--r--kernel/sys_ni.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
index b696b85ac63e..2ef820a2d067 100644
--- a/kernel/sys_ni.c
+++ b/kernel/sys_ni.c
@@ -76,8 +76,6 @@ COND_SYSCALL(timerfd_gettime32);
COND_SYSCALL(acct);
COND_SYSCALL(capget);
COND_SYSCALL(capset);
-/* __ARCH_WANT_SYS_CLONE3 */
-COND_SYSCALL(clone3);
COND_SYSCALL(futex);
COND_SYSCALL(futex_time32);
COND_SYSCALL(set_robust_list);