aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/Kconfig6
-rw-r--r--arch/alpha/Kconfig2
-rw-r--r--arch/alpha/include/asm/unistd.h1
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/arm/include/asm/unistd.h1
-rw-r--r--arch/arm64/Kconfig2
-rw-r--r--arch/arm64/include/asm/unistd.h1
-rw-r--r--arch/avr32/Kconfig2
-rw-r--r--arch/avr32/include/asm/unistd.h1
-rw-r--r--arch/blackfin/Kconfig2
-rw-r--r--arch/blackfin/include/asm/unistd.h1
-rw-r--r--arch/c6x/Kconfig2
-rw-r--r--arch/c6x/include/uapi/asm/unistd.h1
-rw-r--r--arch/cris/Kconfig2
-rw-r--r--arch/cris/include/asm/unistd.h1
-rw-r--r--arch/frv/Kconfig2
-rw-r--r--arch/frv/include/asm/unistd.h1
-rw-r--r--arch/h8300/Kconfig2
-rw-r--r--arch/h8300/include/asm/unistd.h1
-rw-r--r--arch/hexagon/Kconfig2
-rw-r--r--arch/hexagon/include/uapi/asm/unistd.h1
-rw-r--r--arch/ia64/Kconfig2
-rw-r--r--arch/ia64/include/asm/unistd.h1
-rw-r--r--arch/m32r/Kconfig2
-rw-r--r--arch/m32r/include/asm/unistd.h1
-rw-r--r--arch/m68k/Kconfig2
-rw-r--r--arch/m68k/include/asm/unistd.h1
-rw-r--r--arch/microblaze/Kconfig2
-rw-r--r--arch/microblaze/include/asm/unistd.h1
-rw-r--r--arch/mips/Kconfig2
-rw-r--r--arch/mips/include/asm/unistd.h1
-rw-r--r--arch/mn10300/Kconfig2
-rw-r--r--arch/mn10300/include/asm/unistd.h1
-rw-r--r--arch/openrisc/Kconfig2
-rw-r--r--arch/openrisc/include/uapi/asm/unistd.h1
-rw-r--r--arch/parisc/Kconfig2
-rw-r--r--arch/parisc/include/asm/unistd.h1
-rw-r--r--arch/powerpc/Kconfig2
-rw-r--r--arch/powerpc/include/asm/unistd.h1
-rw-r--r--arch/s390/Kconfig2
-rw-r--r--arch/s390/include/asm/unistd.h1
-rw-r--r--arch/score/Kconfig2
-rw-r--r--arch/score/include/asm/unistd.h1
-rw-r--r--arch/sh/Kconfig2
-rw-r--r--arch/sh/include/asm/unistd.h1
-rw-r--r--arch/sparc/Kconfig2
-rw-r--r--arch/sparc/include/asm/unistd.h1
-rw-r--r--arch/tile/Kconfig2
-rw-r--r--arch/tile/include/asm/unistd.h1
-rw-r--r--arch/unicore32/Kconfig2
-rw-r--r--arch/unicore32/include/uapi/asm/unistd.h1
-rw-r--r--arch/x86/Kconfig2
-rw-r--r--arch/x86/include/asm/unistd.h1
-rw-r--r--arch/x86/um/Kconfig2
-rw-r--r--arch/xtensa/Kconfig2
-rw-r--r--arch/xtensa/include/asm/unistd.h1
-rw-r--r--fs/exec.c21
-rw-r--r--include/linux/binfmts.h4
-rw-r--r--include/linux/sched.h2
-rw-r--r--include/linux/syscalls.h9
-rw-r--r--init/main.c4
-rw-r--r--kernel/fork.c2
-rw-r--r--kernel/kmod.c6
63 files changed, 6 insertions, 131 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 8d698fb5ccc9..0a8dd0585d0d 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -271,12 +271,6 @@ config ARCH_WANT_OLD_COMPAT_IPC
271 select ARCH_WANT_COMPAT_IPC_PARSE_VERSION 271 select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
272 bool 272 bool
273 273
274config GENERIC_KERNEL_THREAD
275 bool
276
277config GENERIC_KERNEL_EXECVE
278 bool
279
280config HAVE_ARCH_SECCOMP_FILTER 274config HAVE_ARCH_SECCOMP_FILTER
281 bool 275 bool
282 help 276 help
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 5dd7f5db24d4..7e3710c0cce5 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -20,8 +20,6 @@ config ALPHA
20 select GENERIC_CMOS_UPDATE 20 select GENERIC_CMOS_UPDATE
21 select GENERIC_STRNCPY_FROM_USER 21 select GENERIC_STRNCPY_FROM_USER
22 select GENERIC_STRNLEN_USER 22 select GENERIC_STRNLEN_USER
23 select GENERIC_KERNEL_THREAD
24 select GENERIC_KERNEL_EXECVE
25 select HAVE_MOD_ARCH_SPECIFIC 23 select HAVE_MOD_ARCH_SPECIFIC
26 select MODULES_USE_ELF_RELA 24 select MODULES_USE_ELF_RELA
27 help 25 help
diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h
index eb3a4664ced2..68c75f2fadb9 100644
--- a/arch/alpha/include/asm/unistd.h
+++ b/arch/alpha/include/asm/unistd.h
@@ -481,7 +481,6 @@
481#define __ARCH_WANT_SYS_OLDUMOUNT 481#define __ARCH_WANT_SYS_OLDUMOUNT
482#define __ARCH_WANT_SYS_SIGPENDING 482#define __ARCH_WANT_SYS_SIGPENDING
483#define __ARCH_WANT_SYS_RT_SIGSUSPEND 483#define __ARCH_WANT_SYS_RT_SIGSUSPEND
484#define __ARCH_WANT_SYS_EXECVE
485#define __ARCH_WANT_SYS_FORK 484#define __ARCH_WANT_SYS_FORK
486#define __ARCH_WANT_SYS_VFORK 485#define __ARCH_WANT_SYS_VFORK
487#define __ARCH_WANT_SYS_CLONE 486#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 8918a2dd89b4..b789654e7e2f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -11,8 +11,6 @@ config ARM
11 select GENERIC_CLOCKEVENTS_BROADCAST if SMP 11 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
12 select GENERIC_IRQ_PROBE 12 select GENERIC_IRQ_PROBE
13 select GENERIC_IRQ_SHOW 13 select GENERIC_IRQ_SHOW
14 select GENERIC_KERNEL_THREAD
15 select GENERIC_KERNEL_EXECVE
16 select GENERIC_PCI_IOMAP 14 select GENERIC_PCI_IOMAP
17 select GENERIC_SMP_IDLE_THREAD 15 select GENERIC_SMP_IDLE_THREAD
18 select GENERIC_STRNCPY_FROM_USER 16 select GENERIC_STRNCPY_FROM_USER
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 7cd13cc62624..21a2700d2957 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -41,7 +41,6 @@
41#define __ARCH_WANT_OLD_READDIR 41#define __ARCH_WANT_OLD_READDIR
42#define __ARCH_WANT_SYS_SOCKETCALL 42#define __ARCH_WANT_SYS_SOCKETCALL
43#endif 43#endif
44#define __ARCH_WANT_SYS_EXECVE
45#define __ARCH_WANT_SYS_FORK 44#define __ARCH_WANT_SYS_FORK
46#define __ARCH_WANT_SYS_VFORK 45#define __ARCH_WANT_SYS_VFORK
47#define __ARCH_WANT_SYS_CLONE 46#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 4b03c56ec329..a846029bebcc 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -7,8 +7,6 @@ config ARM64
7 select GENERIC_IOMAP 7 select GENERIC_IOMAP
8 select GENERIC_IRQ_PROBE 8 select GENERIC_IRQ_PROBE
9 select GENERIC_IRQ_SHOW 9 select GENERIC_IRQ_SHOW
10 select GENERIC_KERNEL_EXECVE
11 select GENERIC_KERNEL_THREAD
12 select GENERIC_SMP_IDLE_THREAD 10 select GENERIC_SMP_IDLE_THREAD
13 select GENERIC_TIME_VSYSCALL 11 select GENERIC_TIME_VSYSCALL
14 select HARDIRQS_SW_RESEND 12 select HARDIRQS_SW_RESEND
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index d69aeea6da1e..738322945d1a 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -27,6 +27,5 @@
27#define __ARCH_WANT_SYS_FORK 27#define __ARCH_WANT_SYS_FORK
28#define __ARCH_WANT_SYS_VFORK 28#define __ARCH_WANT_SYS_VFORK
29#endif 29#endif
30#define __ARCH_WANT_SYS_EXECVE
31#define __ARCH_WANT_SYS_CLONE 30#define __ARCH_WANT_SYS_CLONE
32#include <uapi/asm/unistd.h> 31#include <uapi/asm/unistd.h>
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index 649aeb9acecb..06e73bf665e9 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -17,8 +17,6 @@ config AVR32
17 select GENERIC_CLOCKEVENTS 17 select GENERIC_CLOCKEVENTS
18 select HAVE_MOD_ARCH_SPECIFIC 18 select HAVE_MOD_ARCH_SPECIFIC
19 select MODULES_USE_ELF_RELA 19 select MODULES_USE_ELF_RELA
20 select GENERIC_KERNEL_THREAD
21 select GENERIC_KERNEL_EXECVE
22 help 20 help
23 AVR32 is a high-performance 32-bit RISC microprocessor core, 21 AVR32 is a high-performance 32-bit RISC microprocessor core,
24 designed for cost-sensitive embedded applications, with particular 22 designed for cost-sensitive embedded applications, with particular
diff --git a/arch/avr32/include/asm/unistd.h b/arch/avr32/include/asm/unistd.h
index f05a9804e8e2..0bdf6371574e 100644
--- a/arch/avr32/include/asm/unistd.h
+++ b/arch/avr32/include/asm/unistd.h
@@ -39,7 +39,6 @@
39#define __ARCH_WANT_SYS_GETPGRP 39#define __ARCH_WANT_SYS_GETPGRP
40#define __ARCH_WANT_SYS_RT_SIGACTION 40#define __ARCH_WANT_SYS_RT_SIGACTION
41#define __ARCH_WANT_SYS_RT_SIGSUSPEND 41#define __ARCH_WANT_SYS_RT_SIGSUSPEND
42#define __ARCH_WANT_SYS_EXECVE
43#define __ARCH_WANT_SYS_FORK 42#define __ARCH_WANT_SYS_FORK
44#define __ARCH_WANT_SYS_VFORK 43#define __ARCH_WANT_SYS_VFORK
45#define __ARCH_WANT_SYS_CLONE 44#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index ab9ff4075f4d..b6f3ad5441c5 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -45,8 +45,6 @@ config BLACKFIN
45 select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS 45 select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS
46 select HAVE_MOD_ARCH_SPECIFIC 46 select HAVE_MOD_ARCH_SPECIFIC
47 select MODULES_USE_ELF_RELA 47 select MODULES_USE_ELF_RELA
48 select GENERIC_KERNEL_THREAD
49 select GENERIC_KERNEL_EXECVE
50 48
51config GENERIC_CSUM 49config GENERIC_CSUM
52 def_bool y 50 def_bool y
diff --git a/arch/blackfin/include/asm/unistd.h b/arch/blackfin/include/asm/unistd.h
index 460514a1a4e1..38711e28baac 100644
--- a/arch/blackfin/include/asm/unistd.h
+++ b/arch/blackfin/include/asm/unistd.h
@@ -446,7 +446,6 @@
446#define __ARCH_WANT_SYS_NICE 446#define __ARCH_WANT_SYS_NICE
447#define __ARCH_WANT_SYS_RT_SIGACTION 447#define __ARCH_WANT_SYS_RT_SIGACTION
448#define __ARCH_WANT_SYS_RT_SIGSUSPEND 448#define __ARCH_WANT_SYS_RT_SIGSUSPEND
449#define __ARCH_WANT_SYS_EXECVE
450#define __ARCH_WANT_SYS_VFORK 449#define __ARCH_WANT_SYS_VFORK
451 450
452/* 451/*
diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig
index 66eab3703c75..f6a3648f5ec3 100644
--- a/arch/c6x/Kconfig
+++ b/arch/c6x/Kconfig
@@ -17,8 +17,6 @@ config C6X
17 select OF 17 select OF
18 select OF_EARLY_FLATTREE 18 select OF_EARLY_FLATTREE
19 select GENERIC_CLOCKEVENTS 19 select GENERIC_CLOCKEVENTS
20 select GENERIC_KERNEL_THREAD
21 select GENERIC_KERNEL_EXECVE
22 select MODULES_USE_ELF_RELA 20 select MODULES_USE_ELF_RELA
23 21
24config MMU 22config MMU
diff --git a/arch/c6x/include/uapi/asm/unistd.h b/arch/c6x/include/uapi/asm/unistd.h
index f3987a8703d9..e7d09a614d10 100644
--- a/arch/c6x/include/uapi/asm/unistd.h
+++ b/arch/c6x/include/uapi/asm/unistd.h
@@ -14,7 +14,6 @@
14 * more details. 14 * more details.
15 */ 15 */
16 16
17#define __ARCH_WANT_SYS_EXECVE
18#define __ARCH_WANT_SYS_CLONE 17#define __ARCH_WANT_SYS_CLONE
19 18
20/* Use the standard ABI for syscalls. */ 19/* Use the standard ABI for syscalls. */
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index 0cac6a49f230..c59a01dd9c0c 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -49,8 +49,6 @@ config CRIS
49 select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32 49 select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32
50 select GENERIC_CMOS_UPDATE 50 select GENERIC_CMOS_UPDATE
51 select MODULES_USE_ELF_RELA 51 select MODULES_USE_ELF_RELA
52 select GENERIC_KERNEL_THREAD
53 select GENERIC_KERNEL_EXECVE
54 select CLONE_BACKWARDS2 52 select CLONE_BACKWARDS2
55 53
56config HZ 54config HZ
diff --git a/arch/cris/include/asm/unistd.h b/arch/cris/include/asm/unistd.h
index f27b542e0ebc..5cda75a9cc1e 100644
--- a/arch/cris/include/asm/unistd.h
+++ b/arch/cris/include/asm/unistd.h
@@ -371,7 +371,6 @@
371#define __ARCH_WANT_SYS_SIGPROCMASK 371#define __ARCH_WANT_SYS_SIGPROCMASK
372#define __ARCH_WANT_SYS_RT_SIGACTION 372#define __ARCH_WANT_SYS_RT_SIGACTION
373#define __ARCH_WANT_SYS_RT_SIGSUSPEND 373#define __ARCH_WANT_SYS_RT_SIGSUSPEND
374#define __ARCH_WANT_SYS_EXECVE
375#define __ARCH_WANT_SYS_FORK 374#define __ARCH_WANT_SYS_FORK
376#define __ARCH_WANT_SYS_VFORK 375#define __ARCH_WANT_SYS_VFORK
377#define __ARCH_WANT_SYS_CLONE 376#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig
index df2eb4bd9fa2..9d262645f667 100644
--- a/arch/frv/Kconfig
+++ b/arch/frv/Kconfig
@@ -12,8 +12,6 @@ config FRV
12 select ARCH_HAVE_NMI_SAFE_CMPXCHG 12 select ARCH_HAVE_NMI_SAFE_CMPXCHG
13 select GENERIC_CPU_DEVICES 13 select GENERIC_CPU_DEVICES
14 select ARCH_WANT_IPC_PARSE_VERSION 14 select ARCH_WANT_IPC_PARSE_VERSION
15 select GENERIC_KERNEL_THREAD
16 select GENERIC_KERNEL_EXECVE
17 15
18config ZONE_DMA 16config ZONE_DMA
19 bool 17 bool
diff --git a/arch/frv/include/asm/unistd.h b/arch/frv/include/asm/unistd.h
index 1807d8ea8cb5..d685da17f5fb 100644
--- a/arch/frv/include/asm/unistd.h
+++ b/arch/frv/include/asm/unistd.h
@@ -29,7 +29,6 @@
29#define __ARCH_WANT_SYS_SIGPROCMASK 29#define __ARCH_WANT_SYS_SIGPROCMASK
30#define __ARCH_WANT_SYS_RT_SIGACTION 30#define __ARCH_WANT_SYS_RT_SIGACTION
31#define __ARCH_WANT_SYS_RT_SIGSUSPEND 31#define __ARCH_WANT_SYS_RT_SIGSUSPEND
32#define __ARCH_WANT_SYS_EXECVE
33#define __ARCH_WANT_SYS_FORK 32#define __ARCH_WANT_SYS_FORK
34#define __ARCH_WANT_SYS_VFORK 33#define __ARCH_WANT_SYS_VFORK
35#define __ARCH_WANT_SYS_CLONE 34#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 04bef4d25b4a..98fabd10e95f 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -8,8 +8,6 @@ config H8300
8 select GENERIC_IRQ_SHOW 8 select GENERIC_IRQ_SHOW
9 select GENERIC_CPU_DEVICES 9 select GENERIC_CPU_DEVICES
10 select MODULES_USE_ELF_RELA 10 select MODULES_USE_ELF_RELA
11 select GENERIC_KERNEL_THREAD
12 select GENERIC_KERNEL_EXECVE
13 11
14config SYMBOL_PREFIX 12config SYMBOL_PREFIX
15 string 13 string
diff --git a/arch/h8300/include/asm/unistd.h b/arch/h8300/include/asm/unistd.h
index c2c2f5c7d6bf..566f94860c45 100644
--- a/arch/h8300/include/asm/unistd.h
+++ b/arch/h8300/include/asm/unistd.h
@@ -356,7 +356,6 @@
356#define __ARCH_WANT_SYS_SIGPROCMASK 356#define __ARCH_WANT_SYS_SIGPROCMASK
357#define __ARCH_WANT_SYS_RT_SIGACTION 357#define __ARCH_WANT_SYS_RT_SIGACTION
358#define __ARCH_WANT_SYS_RT_SIGSUSPEND 358#define __ARCH_WANT_SYS_RT_SIGSUSPEND
359#define __ARCH_WANT_SYS_EXECVE
360#define __ARCH_WANT_SYS_FORK 359#define __ARCH_WANT_SYS_FORK
361#define __ARCH_WANT_SYS_VFORK 360#define __ARCH_WANT_SYS_VFORK
362#define __ARCH_WANT_SYS_CLONE 361#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
index e418803b6c8e..0744f7d7b1fd 100644
--- a/arch/hexagon/Kconfig
+++ b/arch/hexagon/Kconfig
@@ -31,8 +31,6 @@ config HEXAGON
31 select GENERIC_CLOCKEVENTS 31 select GENERIC_CLOCKEVENTS
32 select GENERIC_CLOCKEVENTS_BROADCAST 32 select GENERIC_CLOCKEVENTS_BROADCAST
33 select MODULES_USE_ELF_RELA 33 select MODULES_USE_ELF_RELA
34 select GENERIC_KERNEL_THREAD
35 select GENERIC_KERNEL_EXECVE
36 ---help--- 34 ---help---
37 Qualcomm Hexagon is a processor architecture designed for high 35 Qualcomm Hexagon is a processor architecture designed for high
38 performance and low power across a wide variety of applications. 36 performance and low power across a wide variety of applications.
diff --git a/arch/hexagon/include/uapi/asm/unistd.h b/arch/hexagon/include/uapi/asm/unistd.h
index 2af81533bd0f..4a87cc47075c 100644
--- a/arch/hexagon/include/uapi/asm/unistd.h
+++ b/arch/hexagon/include/uapi/asm/unistd.h
@@ -27,7 +27,6 @@
27 */ 27 */
28 28
29#define sys_mmap2 sys_mmap_pgoff 29#define sys_mmap2 sys_mmap_pgoff
30#define __ARCH_WANT_SYS_EXECVE
31#define __ARCH_WANT_SYS_CLONE 30#define __ARCH_WANT_SYS_CLONE
32 31
33#include <asm-generic/unistd.h> 32#include <asm-generic/unistd.h>
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 670600468128..3279646120e3 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -42,8 +42,6 @@ config IA64
42 select GENERIC_TIME_VSYSCALL_OLD 42 select GENERIC_TIME_VSYSCALL_OLD
43 select HAVE_MOD_ARCH_SPECIFIC 43 select HAVE_MOD_ARCH_SPECIFIC
44 select MODULES_USE_ELF_RELA 44 select MODULES_USE_ELF_RELA
45 select GENERIC_KERNEL_THREAD
46 select GENERIC_KERNEL_EXECVE
47 default y 45 default y
48 help 46 help
49 The Itanium Processor Family is Intel's 64-bit successor to 47 The Itanium Processor Family is Intel's 64-bit successor to
diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h
index 1574bca86138..8b3ff2f5b861 100644
--- a/arch/ia64/include/asm/unistd.h
+++ b/arch/ia64/include/asm/unistd.h
@@ -29,7 +29,6 @@
29 29
30#define __ARCH_WANT_SYS_RT_SIGACTION 30#define __ARCH_WANT_SYS_RT_SIGACTION
31#define __ARCH_WANT_SYS_RT_SIGSUSPEND 31#define __ARCH_WANT_SYS_RT_SIGSUSPEND
32#define __ARCH_WANT_SYS_EXECVE
33 32
34#if !defined(__ASSEMBLY__) && !defined(ASSEMBLER) 33#if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)
35 34
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index 5183f43a2cf7..f807721e19a5 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -15,8 +15,6 @@ config M32R
15 select GENERIC_ATOMIC64 15 select GENERIC_ATOMIC64
16 select ARCH_USES_GETTIMEOFFSET 16 select ARCH_USES_GETTIMEOFFSET
17 select MODULES_USE_ELF_RELA 17 select MODULES_USE_ELF_RELA
18 select GENERIC_KERNEL_THREAD
19 select GENERIC_KERNEL_EXECVE
20 18
21config SBUS 19config SBUS
22 bool 20 bool
diff --git a/arch/m32r/include/asm/unistd.h b/arch/m32r/include/asm/unistd.h
index d9e7351af2a4..cbfa39158fef 100644
--- a/arch/m32r/include/asm/unistd.h
+++ b/arch/m32r/include/asm/unistd.h
@@ -352,7 +352,6 @@
352#define __ARCH_WANT_SYS_OLDUMOUNT 352#define __ARCH_WANT_SYS_OLDUMOUNT
353#define __ARCH_WANT_SYS_RT_SIGACTION 353#define __ARCH_WANT_SYS_RT_SIGACTION
354#define __ARCH_WANT_SYS_RT_SIGSUSPEND 354#define __ARCH_WANT_SYS_RT_SIGSUSPEND
355#define __ARCH_WANT_SYS_EXECVE
356#define __ARCH_WANT_SYS_CLONE 355#define __ARCH_WANT_SYS_CLONE
357#define __ARCH_WANT_SYS_FORK 356#define __ARCH_WANT_SYS_FORK
358#define __ARCH_WANT_SYS_VFORK 357#define __ARCH_WANT_SYS_VFORK
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 953a7ba5d050..6710084e072a 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -15,8 +15,6 @@ config M68K
15 select FPU if MMU 15 select FPU if MMU
16 select ARCH_WANT_IPC_PARSE_VERSION 16 select ARCH_WANT_IPC_PARSE_VERSION
17 select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE 17 select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE
18 select GENERIC_KERNEL_THREAD
19 select GENERIC_KERNEL_EXECVE
20 select HAVE_MOD_ARCH_SPECIFIC 18 select HAVE_MOD_ARCH_SPECIFIC
21 select MODULES_USE_ELF_REL 19 select MODULES_USE_ELF_REL
22 select MODULES_USE_ELF_RELA 20 select MODULES_USE_ELF_RELA
diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h
index a021d67cdd72..847994ce6804 100644
--- a/arch/m68k/include/asm/unistd.h
+++ b/arch/m68k/include/asm/unistd.h
@@ -31,7 +31,6 @@
31#define __ARCH_WANT_SYS_SIGPROCMASK 31#define __ARCH_WANT_SYS_SIGPROCMASK
32#define __ARCH_WANT_SYS_RT_SIGACTION 32#define __ARCH_WANT_SYS_RT_SIGACTION
33#define __ARCH_WANT_SYS_RT_SIGSUSPEND 33#define __ARCH_WANT_SYS_RT_SIGSUSPEND
34#define __ARCH_WANT_SYS_EXECVE
35#define __ARCH_WANT_SYS_FORK 34#define __ARCH_WANT_SYS_FORK
36#define __ARCH_WANT_SYS_VFORK 35#define __ARCH_WANT_SYS_VFORK
37 36
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index 4bcf89148f3c..ba3b7c8c04b8 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -26,8 +26,6 @@ config MICROBLAZE
26 select GENERIC_ATOMIC64 26 select GENERIC_ATOMIC64
27 select GENERIC_CLOCKEVENTS 27 select GENERIC_CLOCKEVENTS
28 select MODULES_USE_ELF_RELA 28 select MODULES_USE_ELF_RELA
29 select GENERIC_KERNEL_THREAD
30 select GENERIC_KERNEL_EXECVE
31 select CLONE_BACKWARDS 29 select CLONE_BACKWARDS
32 30
33config SWAP 31config SWAP
diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h
index 94d978986b75..38cabf4db548 100644
--- a/arch/microblaze/include/asm/unistd.h
+++ b/arch/microblaze/include/asm/unistd.h
@@ -422,7 +422,6 @@
422#define __ARCH_WANT_SYS_SIGPROCMASK 422#define __ARCH_WANT_SYS_SIGPROCMASK
423#define __ARCH_WANT_SYS_RT_SIGACTION 423#define __ARCH_WANT_SYS_RT_SIGACTION
424#define __ARCH_WANT_SYS_RT_SIGSUSPEND 424#define __ARCH_WANT_SYS_RT_SIGSUSPEND
425#define __ARCH_WANT_SYS_EXECVE
426#define __ARCH_WANT_SYS_CLONE 425#define __ARCH_WANT_SYS_CLONE
427#define __ARCH_WANT_SYS_VFORK 426#define __ARCH_WANT_SYS_VFORK
428#ifdef CONFIG_MMU 427#ifdef CONFIG_MMU
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 4183e62f178c..dba9390d37cf 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -40,8 +40,6 @@ config MIPS
40 select HAVE_MOD_ARCH_SPECIFIC 40 select HAVE_MOD_ARCH_SPECIFIC
41 select MODULES_USE_ELF_REL 41 select MODULES_USE_ELF_REL
42 select MODULES_USE_ELF_RELA if 64BIT 42 select MODULES_USE_ELF_RELA if 64BIT
43 select GENERIC_KERNEL_THREAD
44 select GENERIC_KERNEL_EXECVE
45 43
46menu "Machine selection" 44menu "Machine selection"
47 45
diff --git a/arch/mips/include/asm/unistd.h b/arch/mips/include/asm/unistd.h
index b306e2081cad..9e47cc11aa26 100644
--- a/arch/mips/include/asm/unistd.h
+++ b/arch/mips/include/asm/unistd.h
@@ -20,7 +20,6 @@
20#define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 20#define __ARCH_OMIT_COMPAT_SYS_GETDENTS64
21#define __ARCH_WANT_OLD_READDIR 21#define __ARCH_WANT_OLD_READDIR
22#define __ARCH_WANT_SYS_ALARM 22#define __ARCH_WANT_SYS_ALARM
23#define __ARCH_WANT_SYS_EXECVE
24#define __ARCH_WANT_SYS_GETHOSTNAME 23#define __ARCH_WANT_SYS_GETHOSTNAME
25#define __ARCH_WANT_SYS_IPC 24#define __ARCH_WANT_SYS_IPC
26#define __ARCH_WANT_SYS_PAUSE 25#define __ARCH_WANT_SYS_PAUSE
diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
index 72471744a912..aa03f2e13385 100644
--- a/arch/mn10300/Kconfig
+++ b/arch/mn10300/Kconfig
@@ -8,8 +8,6 @@ config MN10300
8 select HAVE_ARCH_KGDB 8 select HAVE_ARCH_KGDB
9 select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER 9 select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
10 select GENERIC_CLOCKEVENTS 10 select GENERIC_CLOCKEVENTS
11 select GENERIC_KERNEL_THREAD
12 select GENERIC_KERNEL_EXECVE
13 select MODULES_USE_ELF_RELA 11 select MODULES_USE_ELF_RELA
14 12
15config AM33_2 13config AM33_2
diff --git a/arch/mn10300/include/asm/unistd.h b/arch/mn10300/include/asm/unistd.h
index cabf8ba73b27..e6d2ed4ba68f 100644
--- a/arch/mn10300/include/asm/unistd.h
+++ b/arch/mn10300/include/asm/unistd.h
@@ -43,7 +43,6 @@
43#define __ARCH_WANT_SYS_SIGPROCMASK 43#define __ARCH_WANT_SYS_SIGPROCMASK
44#define __ARCH_WANT_SYS_RT_SIGACTION 44#define __ARCH_WANT_SYS_RT_SIGACTION
45#define __ARCH_WANT_SYS_RT_SIGSUSPEND 45#define __ARCH_WANT_SYS_RT_SIGSUSPEND
46#define __ARCH_WANT_SYS_EXECVE
47#define __ARCH_WANT_SYS_FORK 46#define __ARCH_WANT_SYS_FORK
48#define __ARCH_WANT_SYS_VFORK 47#define __ARCH_WANT_SYS_VFORK
49#define __ARCH_WANT_SYS_CLONE 48#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index e7f1a2993f78..05f2ba41ff1a 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -22,8 +22,6 @@ config OPENRISC
22 select GENERIC_STRNCPY_FROM_USER 22 select GENERIC_STRNCPY_FROM_USER
23 select GENERIC_STRNLEN_USER 23 select GENERIC_STRNLEN_USER
24 select MODULES_USE_ELF_RELA 24 select MODULES_USE_ELF_RELA
25 select GENERIC_KERNEL_THREAD
26 select GENERIC_KERNEL_EXECVE
27 25
28config MMU 26config MMU
29 def_bool y 27 def_bool y
diff --git a/arch/openrisc/include/uapi/asm/unistd.h b/arch/openrisc/include/uapi/asm/unistd.h
index 5082b8066325..ce40b71df006 100644
--- a/arch/openrisc/include/uapi/asm/unistd.h
+++ b/arch/openrisc/include/uapi/asm/unistd.h
@@ -20,7 +20,6 @@
20 20
21#define sys_mmap2 sys_mmap_pgoff 21#define sys_mmap2 sys_mmap_pgoff
22 22
23#define __ARCH_WANT_SYS_EXECVE
24#define __ARCH_WANT_SYS_FORK 23#define __ARCH_WANT_SYS_FORK
25#define __ARCH_WANT_SYS_CLONE 24#define __ARCH_WANT_SYS_CLONE
26 25
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index e688a2be30f6..b77feffbadea 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -22,8 +22,6 @@ config PARISC
22 select GENERIC_STRNCPY_FROM_USER 22 select GENERIC_STRNCPY_FROM_USER
23 select HAVE_MOD_ARCH_SPECIFIC 23 select HAVE_MOD_ARCH_SPECIFIC
24 select MODULES_USE_ELF_RELA 24 select MODULES_USE_ELF_RELA
25 select GENERIC_KERNEL_THREAD
26 select GENERIC_KERNEL_EXECVE
27 select CLONE_BACKWARDS 25 select CLONE_BACKWARDS
28 26
29 help 27 help
diff --git a/arch/parisc/include/asm/unistd.h b/arch/parisc/include/asm/unistd.h
index 1efef41659c9..3043194547cd 100644
--- a/arch/parisc/include/asm/unistd.h
+++ b/arch/parisc/include/asm/unistd.h
@@ -163,7 +163,6 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
163#define __ARCH_WANT_SYS_RT_SIGACTION 163#define __ARCH_WANT_SYS_RT_SIGACTION
164#define __ARCH_WANT_SYS_RT_SIGSUSPEND 164#define __ARCH_WANT_SYS_RT_SIGSUSPEND
165#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND 165#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
166#define __ARCH_WANT_SYS_EXECVE
167#define __ARCH_WANT_SYS_FORK 166#define __ARCH_WANT_SYS_FORK
168#define __ARCH_WANT_SYS_VFORK 167#define __ARCH_WANT_SYS_VFORK
169#define __ARCH_WANT_SYS_CLONE 168#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 951a517a1a0f..17903f1f356b 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -141,10 +141,8 @@ config PPC
141 select GENERIC_CLOCKEVENTS 141 select GENERIC_CLOCKEVENTS
142 select GENERIC_STRNCPY_FROM_USER 142 select GENERIC_STRNCPY_FROM_USER
143 select GENERIC_STRNLEN_USER 143 select GENERIC_STRNLEN_USER
144 select GENERIC_KERNEL_THREAD
145 select HAVE_MOD_ARCH_SPECIFIC 144 select HAVE_MOD_ARCH_SPECIFIC
146 select MODULES_USE_ELF_RELA 145 select MODULES_USE_ELF_RELA
147 select GENERIC_KERNEL_EXECVE
148 select CLONE_BACKWARDS 146 select CLONE_BACKWARDS
149 147
150config EARLY_PRINTK 148config EARLY_PRINTK
diff --git a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
index 76fe846ec40e..784872f93711 100644
--- a/arch/powerpc/include/asm/unistd.h
+++ b/arch/powerpc/include/asm/unistd.h
@@ -55,7 +55,6 @@
55#define __ARCH_WANT_SYS_NEWFSTATAT 55#define __ARCH_WANT_SYS_NEWFSTATAT
56#define __ARCH_WANT_COMPAT_SYS_SENDFILE 56#define __ARCH_WANT_COMPAT_SYS_SENDFILE
57#endif 57#endif
58#define __ARCH_WANT_SYS_EXECVE
59#define __ARCH_WANT_SYS_FORK 58#define __ARCH_WANT_SYS_FORK
60#define __ARCH_WANT_SYS_VFORK 59#define __ARCH_WANT_SYS_VFORK
61#define __ARCH_WANT_SYS_CLONE 60#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 3cbb8757704e..5029ebf7110e 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -137,8 +137,6 @@ config S390
137 select GENERIC_CLOCKEVENTS 137 select GENERIC_CLOCKEVENTS
138 select KTIME_SCALAR if 32BIT 138 select KTIME_SCALAR if 32BIT
139 select HAVE_ARCH_SECCOMP_FILTER 139 select HAVE_ARCH_SECCOMP_FILTER
140 select GENERIC_KERNEL_THREAD
141 select GENERIC_KERNEL_EXECVE
142 select HAVE_MOD_ARCH_SPECIFIC 140 select HAVE_MOD_ARCH_SPECIFIC
143 select MODULES_USE_ELF_RELA 141 select MODULES_USE_ELF_RELA
144 select CLONE_BACKWARDS2 142 select CLONE_BACKWARDS2
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h
index 086bb8eaf6ab..636530872516 100644
--- a/arch/s390/include/asm/unistd.h
+++ b/arch/s390/include/asm/unistd.h
@@ -53,7 +53,6 @@
53# define __ARCH_WANT_COMPAT_SYS_TIME 53# define __ARCH_WANT_COMPAT_SYS_TIME
54# define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND 54# define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
55# endif 55# endif
56#define __ARCH_WANT_SYS_EXECVE
57#define __ARCH_WANT_SYS_FORK 56#define __ARCH_WANT_SYS_FORK
58#define __ARCH_WANT_SYS_VFORK 57#define __ARCH_WANT_SYS_VFORK
59#define __ARCH_WANT_SYS_CLONE 58#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/score/Kconfig b/arch/score/Kconfig
index 45893390c7dd..3b1482e7afac 100644
--- a/arch/score/Kconfig
+++ b/arch/score/Kconfig
@@ -13,8 +13,6 @@ config SCORE
13 select GENERIC_CLOCKEVENTS 13 select GENERIC_CLOCKEVENTS
14 select HAVE_MOD_ARCH_SPECIFIC 14 select HAVE_MOD_ARCH_SPECIFIC
15 select MODULES_USE_ELF_REL 15 select MODULES_USE_ELF_REL
16 select GENERIC_KERNEL_THREAD
17 select GENERIC_KERNEL_EXECVE
18 select CLONE_BACKWARDS 16 select CLONE_BACKWARDS
19 17
20choice 18choice
diff --git a/arch/score/include/asm/unistd.h b/arch/score/include/asm/unistd.h
index 56001c93095a..9cb4260a5f3e 100644
--- a/arch/score/include/asm/unistd.h
+++ b/arch/score/include/asm/unistd.h
@@ -4,7 +4,6 @@
4#define __ARCH_WANT_SYSCALL_NO_FLAGS 4#define __ARCH_WANT_SYSCALL_NO_FLAGS
5#define __ARCH_WANT_SYSCALL_OFF_T 5#define __ARCH_WANT_SYSCALL_OFF_T
6#define __ARCH_WANT_SYSCALL_DEPRECATED 6#define __ARCH_WANT_SYSCALL_DEPRECATED
7#define __ARCH_WANT_SYS_EXECVE
8#define __ARCH_WANT_SYS_CLONE 7#define __ARCH_WANT_SYS_CLONE
9#define __ARCH_WANT_SYS_FORK 8#define __ARCH_WANT_SYS_FORK
10#define __ARCH_WANT_SYS_VFORK 9#define __ARCH_WANT_SYS_VFORK
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 8451317eed58..babc2b826c5c 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -40,8 +40,6 @@ config SUPERH
40 select GENERIC_STRNLEN_USER 40 select GENERIC_STRNLEN_USER
41 select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER 41 select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
42 select MODULES_USE_ELF_RELA 42 select MODULES_USE_ELF_RELA
43 select GENERIC_KERNEL_THREAD
44 select GENERIC_KERNEL_EXECVE
45 help 43 help
46 The SuperH is a RISC processor targeted for use in embedded systems 44 The SuperH is a RISC processor targeted for use in embedded systems
47 and consumer electronics; it was also used in the Sega Dreamcast 45 and consumer electronics; it was also used in the Sega Dreamcast
diff --git a/arch/sh/include/asm/unistd.h b/arch/sh/include/asm/unistd.h
index 43d3f26b2eab..012004ed3330 100644
--- a/arch/sh/include/asm/unistd.h
+++ b/arch/sh/include/asm/unistd.h
@@ -28,7 +28,6 @@
28# define __ARCH_WANT_SYS_SIGPENDING 28# define __ARCH_WANT_SYS_SIGPENDING
29# define __ARCH_WANT_SYS_SIGPROCMASK 29# define __ARCH_WANT_SYS_SIGPROCMASK
30# define __ARCH_WANT_SYS_RT_SIGACTION 30# define __ARCH_WANT_SYS_RT_SIGACTION
31# define __ARCH_WANT_SYS_EXECVE
32# define __ARCH_WANT_SYS_FORK 31# define __ARCH_WANT_SYS_FORK
33# define __ARCH_WANT_SYS_VFORK 32# define __ARCH_WANT_SYS_VFORK
34# define __ARCH_WANT_SYS_CLONE 33# define __ARCH_WANT_SYS_CLONE
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 0c7d365fa402..9f2edb5c5551 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -41,8 +41,6 @@ config SPARC
41 select GENERIC_STRNCPY_FROM_USER 41 select GENERIC_STRNCPY_FROM_USER
42 select GENERIC_STRNLEN_USER 42 select GENERIC_STRNLEN_USER
43 select MODULES_USE_ELF_RELA 43 select MODULES_USE_ELF_RELA
44 select GENERIC_KERNEL_THREAD
45 select GENERIC_KERNEL_EXECVE
46 44
47config SPARC32 45config SPARC32
48 def_bool !64BIT 46 def_bool !64BIT
diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h
index c3e5d8b64171..0ecea6ed943e 100644
--- a/arch/sparc/include/asm/unistd.h
+++ b/arch/sparc/include/asm/unistd.h
@@ -46,7 +46,6 @@
46#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND 46#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
47#define __ARCH_WANT_COMPAT_SYS_SENDFILE 47#define __ARCH_WANT_COMPAT_SYS_SENDFILE
48#endif 48#endif
49#define __ARCH_WANT_SYS_EXECVE
50 49
51/* 50/*
52 * "Conditional" syscalls 51 * "Conditional" syscalls
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
index ea7f61e8bc9e..875d008828b8 100644
--- a/arch/tile/Kconfig
+++ b/arch/tile/Kconfig
@@ -21,8 +21,6 @@ config TILE
21 select ARCH_HAVE_NMI_SAFE_CMPXCHG 21 select ARCH_HAVE_NMI_SAFE_CMPXCHG
22 select GENERIC_CLOCKEVENTS 22 select GENERIC_CLOCKEVENTS
23 select MODULES_USE_ELF_RELA 23 select MODULES_USE_ELF_RELA
24 select GENERIC_KERNEL_THREAD
25 select GENERIC_KERNEL_EXECVE
26 24
27# FIXME: investigate whether we need/want these options. 25# FIXME: investigate whether we need/want these options.
28# select HAVE_IOREMAP_PROT 26# select HAVE_IOREMAP_PROT
diff --git a/arch/tile/include/asm/unistd.h b/arch/tile/include/asm/unistd.h
index b51c6ee3cd6c..940831fe9e94 100644
--- a/arch/tile/include/asm/unistd.h
+++ b/arch/tile/include/asm/unistd.h
@@ -16,6 +16,5 @@
16#define __ARCH_WANT_SYS_LLSEEK 16#define __ARCH_WANT_SYS_LLSEEK
17#endif 17#endif
18#define __ARCH_WANT_SYS_NEWFSTATAT 18#define __ARCH_WANT_SYS_NEWFSTATAT
19#define __ARCH_WANT_SYS_EXECVE
20#define __ARCH_WANT_SYS_CLONE 19#define __ARCH_WANT_SYS_CLONE
21#include <uapi/asm/unistd.h> 20#include <uapi/asm/unistd.h>
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index c4fbb21e802b..60651df5f952 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -16,8 +16,6 @@ config UNICORE32
16 select ARCH_WANT_FRAME_POINTERS 16 select ARCH_WANT_FRAME_POINTERS
17 select GENERIC_IOMAP 17 select GENERIC_IOMAP
18 select MODULES_USE_ELF_REL 18 select MODULES_USE_ELF_REL
19 select GENERIC_KERNEL_THREAD
20 select GENERIC_KERNEL_EXECVE
21 help 19 help
22 UniCore-32 is 32-bit Instruction Set Architecture, 20 UniCore-32 is 32-bit Instruction Set Architecture,
23 including a series of low-power-consumption RISC chip 21 including a series of low-power-consumption RISC chip
diff --git a/arch/unicore32/include/uapi/asm/unistd.h b/arch/unicore32/include/uapi/asm/unistd.h
index 00cf5e286fca..d4cc4559d848 100644
--- a/arch/unicore32/include/uapi/asm/unistd.h
+++ b/arch/unicore32/include/uapi/asm/unistd.h
@@ -12,5 +12,4 @@
12 12
13/* Use the standard ABI for syscalls. */ 13/* Use the standard ABI for syscalls. */
14#include <asm-generic/unistd.h> 14#include <asm-generic/unistd.h>
15#define __ARCH_WANT_SYS_EXECVE
16#define __ARCH_WANT_SYS_CLONE 15#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 0df6e7d84539..01ca0ebaff0e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -108,8 +108,6 @@ config X86
108 select GENERIC_STRNLEN_USER 108 select GENERIC_STRNLEN_USER
109 select HAVE_RCU_USER_QS if X86_64 109 select HAVE_RCU_USER_QS if X86_64
110 select HAVE_IRQ_TIME_ACCOUNTING 110 select HAVE_IRQ_TIME_ACCOUNTING
111 select GENERIC_KERNEL_THREAD
112 select GENERIC_KERNEL_EXECVE
113 select MODULES_USE_ELF_REL if X86_32 111 select MODULES_USE_ELF_REL if X86_32
114 select MODULES_USE_ELF_RELA if X86_64 112 select MODULES_USE_ELF_RELA if X86_64
115 select CLONE_BACKWARDS if X86_32 113 select CLONE_BACKWARDS if X86_32
diff --git a/arch/x86/include/asm/unistd.h b/arch/x86/include/asm/unistd.h
index 0e7dea7d3669..9dcfcc1d6f92 100644
--- a/arch/x86/include/asm/unistd.h
+++ b/arch/x86/include/asm/unistd.h
@@ -50,7 +50,6 @@
50# define __ARCH_WANT_SYS_TIME 50# define __ARCH_WANT_SYS_TIME
51# define __ARCH_WANT_SYS_UTIME 51# define __ARCH_WANT_SYS_UTIME
52# define __ARCH_WANT_SYS_WAITPID 52# define __ARCH_WANT_SYS_WAITPID
53# define __ARCH_WANT_SYS_EXECVE
54# define __ARCH_WANT_SYS_FORK 53# define __ARCH_WANT_SYS_FORK
55# define __ARCH_WANT_SYS_VFORK 54# define __ARCH_WANT_SYS_VFORK
56# define __ARCH_WANT_SYS_CLONE 55# define __ARCH_WANT_SYS_CLONE
diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig
index 8f51c39750d1..0fd20f241e40 100644
--- a/arch/x86/um/Kconfig
+++ b/arch/x86/um/Kconfig
@@ -13,8 +13,6 @@ endmenu
13config UML_X86 13config UML_X86
14 def_bool y 14 def_bool y
15 select GENERIC_FIND_FIRST_BIT 15 select GENERIC_FIND_FIRST_BIT
16 select GENERIC_KERNEL_THREAD
17 select GENERIC_KERNEL_EXECVE
18 16
19config 64BIT 17config 64BIT
20 bool "64-bit kernel" if SUBARCH = "x86" 18 bool "64-bit kernel" if SUBARCH = "x86"
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index 2481f267be29..03a8c107e07e 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -13,8 +13,6 @@ config XTENSA
13 select GENERIC_CPU_DEVICES 13 select GENERIC_CPU_DEVICES
14 select MODULES_USE_ELF_RELA 14 select MODULES_USE_ELF_RELA
15 select GENERIC_PCI_IOMAP 15 select GENERIC_PCI_IOMAP
16 select GENERIC_KERNEL_THREAD
17 select GENERIC_KERNEL_EXECVE
18 select ARCH_WANT_OPTIONAL_GPIOLIB 16 select ARCH_WANT_OPTIONAL_GPIOLIB
19 select CLONE_BACKWARDS 17 select CLONE_BACKWARDS
20 help 18 help
diff --git a/arch/xtensa/include/asm/unistd.h b/arch/xtensa/include/asm/unistd.h
index e002dbcc88b6..eb63ea87815c 100644
--- a/arch/xtensa/include/asm/unistd.h
+++ b/arch/xtensa/include/asm/unistd.h
@@ -1,7 +1,6 @@
1#ifndef _XTENSA_UNISTD_H 1#ifndef _XTENSA_UNISTD_H
2#define _XTENSA_UNISTD_H 2#define _XTENSA_UNISTD_H
3 3
4#define __ARCH_WANT_SYS_EXECVE
5#define __ARCH_WANT_SYS_CLONE 4#define __ARCH_WANT_SYS_CLONE
6#include <uapi/asm/unistd.h> 5#include <uapi/asm/unistd.h>
7 6
diff --git a/fs/exec.c b/fs/exec.c
index 721a29929511..090ac91da2e9 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1657,7 +1657,6 @@ int get_dumpable(struct mm_struct *mm)
1657 return __get_dumpable(mm->flags); 1657 return __get_dumpable(mm->flags);
1658} 1658}
1659 1659
1660#ifdef __ARCH_WANT_SYS_EXECVE
1661SYSCALL_DEFINE3(execve, 1660SYSCALL_DEFINE3(execve,
1662 const char __user *, filename, 1661 const char __user *, filename,
1663 const char __user *const __user *, argv, 1662 const char __user *const __user *, argv,
@@ -1685,23 +1684,3 @@ asmlinkage long compat_sys_execve(const char __user * filename,
1685 return error; 1684 return error;
1686} 1685}
1687#endif 1686#endif
1688#endif
1689
1690#ifdef __ARCH_WANT_KERNEL_EXECVE
1691int kernel_execve(const char *filename,
1692 const char *const argv[],
1693 const char *const envp[])
1694{
1695 int ret = do_execve(filename,
1696 (const char __user *const __user *)argv,
1697 (const char __user *const __user *)envp);
1698 if (ret < 0)
1699 return ret;
1700
1701 /*
1702 * We were successful. We won't be returning to our caller, but
1703 * instead to user space by manipulating the kernel stack.
1704 */
1705 ret_from_kernel_execve(current_pt_regs());
1706}
1707#endif
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
index 2630c9b41a86..8c1388c6ae27 100644
--- a/include/linux/binfmts.h
+++ b/include/linux/binfmts.h
@@ -121,8 +121,4 @@ extern void install_exec_creds(struct linux_binprm *bprm);
121extern void set_binfmt(struct linux_binfmt *new); 121extern void set_binfmt(struct linux_binfmt *new);
122extern void free_bprm(struct linux_binprm *); 122extern void free_bprm(struct linux_binprm *);
123 123
124#ifdef __ARCH_WANT_KERNEL_EXECVE
125extern void ret_from_kernel_execve(struct pt_regs *normal) __noreturn;
126#endif
127
128#endif /* _LINUX_BINFMTS_H */ 124#endif /* _LINUX_BINFMTS_H */
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 1162258bcaf0..9e5a54e3d84f 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -2291,9 +2291,7 @@ extern int do_execve(const char *,
2291 const char __user * const __user *); 2291 const char __user * const __user *);
2292extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *); 2292extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *);
2293struct task_struct *fork_idle(int); 2293struct task_struct *fork_idle(int);
2294#ifdef CONFIG_GENERIC_KERNEL_THREAD
2295extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); 2294extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
2296#endif
2297 2295
2298extern void set_task_comm(struct task_struct *tsk, char *from); 2296extern void set_task_comm(struct task_struct *tsk, char *from);
2299extern char *get_task_comm(char *to, struct task_struct *tsk); 2297extern char *get_task_comm(char *to, struct task_struct *tsk);
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 91835e7f364d..9fe5f946526e 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -827,15 +827,6 @@ asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags,
827 const char __user *pathname); 827 const char __user *pathname);
828asmlinkage long sys_syncfs(int fd); 828asmlinkage long sys_syncfs(int fd);
829 829
830#ifndef CONFIG_GENERIC_KERNEL_EXECVE
831int kernel_execve(const char *filename, const char *const argv[], const char *const envp[]);
832#else
833#define kernel_execve(filename, argv, envp) \
834 do_execve(filename, \
835 (const char __user *const __user *)argv, \
836 (const char __user *const __user *)envp)
837#endif
838
839asmlinkage long sys_fork(void); 830asmlinkage long sys_fork(void);
840asmlinkage long sys_vfork(void); 831asmlinkage long sys_vfork(void);
841#ifdef CONFIG_CLONE_BACKWARDS 832#ifdef CONFIG_CLONE_BACKWARDS
diff --git a/init/main.c b/init/main.c
index e33e09df3cbc..155ac208d581 100644
--- a/init/main.c
+++ b/init/main.c
@@ -797,7 +797,9 @@ static void __init do_pre_smp_initcalls(void)
797static int run_init_process(const char *init_filename) 797static int run_init_process(const char *init_filename)
798{ 798{
799 argv_init[0] = init_filename; 799 argv_init[0] = init_filename;
800 return kernel_execve(init_filename, argv_init, envp_init); 800 return do_execve(init_filename,
801 (const char __user *const __user *)argv_init,
802 (const char __user *const __user *)envp_init);
801} 803}
802 804
803static void __init kernel_init_freeable(void); 805static void __init kernel_init_freeable(void);
diff --git a/kernel/fork.c b/kernel/fork.c
index 540730783433..389712ffc0ad 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1623,7 +1623,6 @@ long do_fork(unsigned long clone_flags,
1623 return nr; 1623 return nr;
1624} 1624}
1625 1625
1626#ifdef CONFIG_GENERIC_KERNEL_THREAD
1627/* 1626/*
1628 * Create a kernel thread. 1627 * Create a kernel thread.
1629 */ 1628 */
@@ -1632,7 +1631,6 @@ pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
1632 return do_fork(flags|CLONE_VM|CLONE_UNTRACED, (unsigned long)fn, 1631 return do_fork(flags|CLONE_VM|CLONE_UNTRACED, (unsigned long)fn,
1633 (unsigned long)arg, NULL, NULL); 1632 (unsigned long)arg, NULL, NULL);
1634} 1633}
1635#endif
1636 1634
1637#ifdef __ARCH_WANT_SYS_FORK 1635#ifdef __ARCH_WANT_SYS_FORK
1638SYSCALL_DEFINE0(fork) 1636SYSCALL_DEFINE0(fork)
diff --git a/kernel/kmod.c b/kernel/kmod.c
index 1c317e386831..0023a87e8de6 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -219,9 +219,9 @@ static int ____call_usermodehelper(void *data)
219 219
220 commit_creds(new); 220 commit_creds(new);
221 221
222 retval = kernel_execve(sub_info->path, 222 retval = do_execve(sub_info->path,
223 (const char *const *)sub_info->argv, 223 (const char __user *const __user *)sub_info->argv,
224 (const char *const *)sub_info->envp); 224 (const char __user *const __user *)sub_info->envp);
225 if (!retval) 225 if (!retval)
226 return 0; 226 return 0;
227 227