diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-14 12:44:11 -0500 | 
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-19 18:07:38 -0500 | 
| commit | ae903caae267154de7cf8576b130ff474630596b (patch) | |
| tree | a39d238d7fd1742f7f20cacbd24a4d1b4957176e | |
| parent | 468366138850f20543f1d4878028900672b23dae (diff) | |
| download | linux-ae903caae267154de7cf8576b130ff474630596b.tar.bz2 | |
Bury the conditionals from kernel_thread/kernel_execve series
All architectures have
	CONFIG_GENERIC_KERNEL_THREAD
	CONFIG_GENERIC_KERNEL_EXECVE
	__ARCH_WANT_SYS_EXECVE
None of them have __ARCH_WANT_KERNEL_EXECVE and there are only two callers
of kernel_execve() (which is a trivial wrapper for do_execve() now) left.
Kill the conditionals and make both callers use do_execve().
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
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  	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION  	bool -config GENERIC_KERNEL_THREAD -	bool - -config GENERIC_KERNEL_EXECVE -	bool -  config HAVE_ARCH_SECCOMP_FILTER  	bool  	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  	select GENERIC_CMOS_UPDATE  	select GENERIC_STRNCPY_FROM_USER  	select GENERIC_STRNLEN_USER -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_RELA  	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 @@  #define __ARCH_WANT_SYS_OLDUMOUNT  #define __ARCH_WANT_SYS_SIGPENDING  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select GENERIC_CLOCKEVENTS_BROADCAST if SMP  	select GENERIC_IRQ_PROBE  	select GENERIC_IRQ_SHOW -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select GENERIC_PCI_IOMAP  	select GENERIC_SMP_IDLE_THREAD  	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 @@  #define __ARCH_WANT_OLD_READDIR  #define __ARCH_WANT_SYS_SOCKETCALL  #endif -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select GENERIC_IOMAP  	select GENERIC_IRQ_PROBE  	select GENERIC_IRQ_SHOW -	select GENERIC_KERNEL_EXECVE -	select GENERIC_KERNEL_THREAD  	select GENERIC_SMP_IDLE_THREAD  	select GENERIC_TIME_VSYSCALL  	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 @@  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #endif -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  #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  	select GENERIC_CLOCKEVENTS  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	help  	  AVR32 is a high-performance 32-bit RISC microprocessor core,  	  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 @@  #define __ARCH_WANT_SYS_GETPGRP  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  config GENERIC_CSUM  	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 @@  #define __ARCH_WANT_SYS_NICE  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_VFORK  /* 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  	select OF  	select OF_EARLY_FLATTREE  	select GENERIC_CLOCKEVENTS -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select MODULES_USE_ELF_RELA  config 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 @@   *   more details.   */ -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  /* 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  	select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32  	select GENERIC_CMOS_UPDATE  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select CLONE_BACKWARDS2  config 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 @@  #define __ARCH_WANT_SYS_SIGPROCMASK  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select ARCH_HAVE_NMI_SAFE_CMPXCHG  	select GENERIC_CPU_DEVICES  	select ARCH_WANT_IPC_PARSE_VERSION -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  config ZONE_DMA  	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 @@  #define __ARCH_WANT_SYS_SIGPROCMASK  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select GENERIC_IRQ_SHOW  	select GENERIC_CPU_DEVICES  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  config SYMBOL_PREFIX  	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 @@  #define __ARCH_WANT_SYS_SIGPROCMASK  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select GENERIC_CLOCKEVENTS  	select GENERIC_CLOCKEVENTS_BROADCAST  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	---help---  	  Qualcomm Hexagon is a processor architecture designed for high  	  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 @@   */  #define sys_mmap2 sys_mmap_pgoff -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  #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  	select GENERIC_TIME_VSYSCALL_OLD  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	default y  	help  	  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 @@  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER) 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  	select GENERIC_ATOMIC64  	select ARCH_USES_GETTIMEOFFSET  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  config SBUS  	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 @@  #define __ARCH_WANT_SYS_OLDUMOUNT  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  #define __ARCH_WANT_SYS_FORK  #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  	select FPU if MMU  	select ARCH_WANT_IPC_PARSE_VERSION  	select ARCH_USES_GETTIMEOFFSET if MMU && !COLDFIRE -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_REL  	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 @@  #define __ARCH_WANT_SYS_SIGPROCMASK  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK 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  	select GENERIC_ATOMIC64  	select GENERIC_CLOCKEVENTS  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select CLONE_BACKWARDS  config 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 @@  #define __ARCH_WANT_SYS_SIGPROCMASK  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  #define __ARCH_WANT_SYS_VFORK  #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  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_REL  	select MODULES_USE_ELF_RELA if 64BIT -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  menu "Machine selection" 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 @@  #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64  #define __ARCH_WANT_OLD_READDIR  #define __ARCH_WANT_SYS_ALARM -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_GETHOSTNAME  #define __ARCH_WANT_SYS_IPC  #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  	select HAVE_ARCH_KGDB  	select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER  	select GENERIC_CLOCKEVENTS -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select MODULES_USE_ELF_RELA  config 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 @@  #define __ARCH_WANT_SYS_SIGPROCMASK  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select GENERIC_STRNCPY_FROM_USER  	select GENERIC_STRNLEN_USER  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  config MMU  	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 @@  #define sys_mmap2 sys_mmap_pgoff -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_CLONE 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  	select GENERIC_STRNCPY_FROM_USER  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select CLONE_BACKWARDS  	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)	\  #define __ARCH_WANT_SYS_RT_SIGACTION  #define __ARCH_WANT_SYS_RT_SIGSUSPEND  #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select GENERIC_CLOCKEVENTS  	select GENERIC_STRNCPY_FROM_USER  	select GENERIC_STRNLEN_USER -	select GENERIC_KERNEL_THREAD  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_EXECVE  	select CLONE_BACKWARDS  config 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 @@  #define __ARCH_WANT_SYS_NEWFSTATAT  #define __ARCH_WANT_COMPAT_SYS_SENDFILE  #endif -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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  	select GENERIC_CLOCKEVENTS  	select KTIME_SCALAR if 32BIT  	select HAVE_ARCH_SECCOMP_FILTER -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_RELA  	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 @@  #   define __ARCH_WANT_COMPAT_SYS_TIME  #   define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND  # endif -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_FORK  #define __ARCH_WANT_SYS_VFORK  #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         select GENERIC_CLOCKEVENTS         select HAVE_MOD_ARCH_SPECIFIC  	select MODULES_USE_ELF_REL -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select CLONE_BACKWARDS  choice 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 @@  #define __ARCH_WANT_SYSCALL_NO_FLAGS  #define __ARCH_WANT_SYSCALL_OFF_T  #define __ARCH_WANT_SYSCALL_DEPRECATED -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  #define __ARCH_WANT_SYS_FORK  #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  	select GENERIC_STRNLEN_USER  	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	help  	  The SuperH is a RISC processor targeted for use in embedded systems  	  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 @@  # define __ARCH_WANT_SYS_SIGPENDING  # define __ARCH_WANT_SYS_SIGPROCMASK  # define __ARCH_WANT_SYS_RT_SIGACTION -# define __ARCH_WANT_SYS_EXECVE  # define __ARCH_WANT_SYS_FORK  # define __ARCH_WANT_SYS_VFORK  # 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  	select GENERIC_STRNCPY_FROM_USER  	select GENERIC_STRNLEN_USER  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  config SPARC32  	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 @@  #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND  #define __ARCH_WANT_COMPAT_SYS_SENDFILE  #endif -#define __ARCH_WANT_SYS_EXECVE  /*   * "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  	select ARCH_HAVE_NMI_SAFE_CMPXCHG  	select GENERIC_CLOCKEVENTS  	select MODULES_USE_ELF_RELA -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  # FIXME: investigate whether we need/want these options.  #	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 @@  #define __ARCH_WANT_SYS_LLSEEK  #endif  #define __ARCH_WANT_SYS_NEWFSTATAT -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  #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  	select ARCH_WANT_FRAME_POINTERS  	select GENERIC_IOMAP  	select MODULES_USE_ELF_REL -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	help  	  UniCore-32 is 32-bit Instruction Set Architecture,  	  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 @@  /* Use the standard ABI for syscalls. */  #include <asm-generic/unistd.h> -#define __ARCH_WANT_SYS_EXECVE  #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  	select GENERIC_STRNLEN_USER  	select HAVE_RCU_USER_QS if X86_64  	select HAVE_IRQ_TIME_ACCOUNTING -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select MODULES_USE_ELF_REL if X86_32  	select MODULES_USE_ELF_RELA if X86_64  	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 @@  # define __ARCH_WANT_SYS_TIME  # define __ARCH_WANT_SYS_UTIME  # define __ARCH_WANT_SYS_WAITPID -# define __ARCH_WANT_SYS_EXECVE  # define __ARCH_WANT_SYS_FORK  # define __ARCH_WANT_SYS_VFORK  # 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  config UML_X86  	def_bool y  	select GENERIC_FIND_FIRST_BIT -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  config 64BIT  	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  	select GENERIC_CPU_DEVICES  	select MODULES_USE_ELF_RELA  	select GENERIC_PCI_IOMAP -	select GENERIC_KERNEL_THREAD -	select GENERIC_KERNEL_EXECVE  	select ARCH_WANT_OPTIONAL_GPIOLIB  	select CLONE_BACKWARDS  	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 @@  #ifndef _XTENSA_UNISTD_H  #define _XTENSA_UNISTD_H -#define __ARCH_WANT_SYS_EXECVE  #define __ARCH_WANT_SYS_CLONE  #include <uapi/asm/unistd.h> 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)  	return __get_dumpable(mm->flags);  } -#ifdef __ARCH_WANT_SYS_EXECVE  SYSCALL_DEFINE3(execve,  		const char __user *, filename,  		const char __user *const __user *, argv, @@ -1685,23 +1684,3 @@ asmlinkage long compat_sys_execve(const char __user * filename,  	return error;  }  #endif -#endif - -#ifdef __ARCH_WANT_KERNEL_EXECVE -int kernel_execve(const char *filename, -		  const char *const argv[], -		  const char *const envp[]) -{ -	int ret = do_execve(filename, -			(const char __user *const __user *)argv, -			(const char __user *const __user *)envp); -	if (ret < 0) -		return ret; - -	/* -	 * We were successful.  We won't be returning to our caller, but -	 * instead to user space by manipulating the kernel stack. -	 */ -	ret_from_kernel_execve(current_pt_regs()); -} -#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);  extern void set_binfmt(struct linux_binfmt *new);  extern void free_bprm(struct linux_binprm *); -#ifdef __ARCH_WANT_KERNEL_EXECVE -extern void ret_from_kernel_execve(struct pt_regs *normal) __noreturn; -#endif -  #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 *,  		     const char __user * const __user *);  extern long do_fork(unsigned long, unsigned long, unsigned long, int __user *, int __user *);  struct task_struct *fork_idle(int); -#ifdef CONFIG_GENERIC_KERNEL_THREAD  extern pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); -#endif  extern void set_task_comm(struct task_struct *tsk, char *from);  extern 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,  				  const char  __user *pathname);  asmlinkage long sys_syncfs(int fd); -#ifndef CONFIG_GENERIC_KERNEL_EXECVE -int kernel_execve(const char *filename, const char *const argv[], const char *const envp[]); -#else -#define kernel_execve(filename, argv, envp) \ -	do_execve(filename, \ -		(const char __user *const __user *)argv, \ -		(const char __user *const __user *)envp) -#endif -  asmlinkage long sys_fork(void);  asmlinkage long sys_vfork(void);  #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)  static int run_init_process(const char *init_filename)  {  	argv_init[0] = init_filename; -	return kernel_execve(init_filename, argv_init, envp_init); +	return do_execve(init_filename, +		(const char __user *const __user *)argv_init, +		(const char __user *const __user *)envp_init);  }  static 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,  	return nr;  } -#ifdef CONFIG_GENERIC_KERNEL_THREAD  /*   * Create a kernel thread.   */ @@ -1632,7 +1631,6 @@ pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)  	return do_fork(flags|CLONE_VM|CLONE_UNTRACED, (unsigned long)fn,  		(unsigned long)arg, NULL, NULL);  } -#endif  #ifdef __ARCH_WANT_SYS_FORK  SYSCALL_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)  	commit_creds(new); -	retval = kernel_execve(sub_info->path, -			       (const char *const *)sub_info->argv, -			       (const char *const *)sub_info->envp); +	retval = do_execve(sub_info->path, +			   (const char __user *const __user *)sub_info->argv, +			   (const char __user *const __user *)sub_info->envp);  	if (!retval)  		return 0; |