This one is mostly kernel_thread/kernel_execve infrastructure + conversions for arm, x86, um, alpha and s390; all of that has sat in linux-next for a while. There are several moderately unpleasant conflicts; I hadn't rebased that branch, but I'd put proposed conflict resolution into signal.git#proposed-merge. Please, pull from git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal for-linus
Shortlog: Al Viro (26): x86: get rid of TIF_IRET hackery get rid of generic instances of asm/exec.h the only place that needs to include asm/exec.h is linux/binfmts.h don't bother exporting kernel_execve() um: take cleaning singlestep to start_thread() um: don't leak floating point state and segment registers on execve() um: let signal_delivered() do SIGTRAP on singlestepping into handler um: kill thread->forking preparation for generic kernel_thread() new helper: current_pt_regs() generic kernel_execve() generic sys_execve() arm: split ret_from_fork, simplify kernel_thread() [based on patch by rmk] arm: introduce ret_from_kernel_execve(), switch to generic kernel_execve() arm: optimized current_pt_regs() arm: get rid of execve wrapper, switch to generic execve() implementation alpha: switch to generic sys_execve() alpha: switch to generic kernel_thread() alpha: introduce ret_from_kernel_execve(), switch to generic kernel_execve() x86: split ret_from_fork x86, um/x86: switch to generic sys_execve and kernel_execve um: switch to generic kernel_thread() s390: fold execve_tail() into start_thread(), convert to generic sys_execve() s390: fold kernel_thread_helper() into ret_from_fork() s390: switch to generic kernel_thread() s390: convert to generic kernel_execve() Diffstat: arch/Kconfig | 3 + arch/alpha/Kconfig | 1 + arch/alpha/include/asm/Kbuild | 1 + arch/alpha/include/asm/exec.h | 6 -- arch/alpha/include/asm/processor.h | 3 - arch/alpha/include/asm/unistd.h | 2 + arch/alpha/kernel/alpha_ksyms.c | 3 - arch/alpha/kernel/entry.S | 69 +++++--------------- arch/alpha/kernel/process.c | 79 ++++++----------------- arch/arm/Kconfig | 1 + arch/arm/include/asm/Kbuild | 1 + arch/arm/include/asm/exec.h | 6 -- arch/arm/include/asm/processor.h | 5 -- arch/arm/include/asm/ptrace.h | 5 ++ arch/arm/include/asm/system.h | 1 - arch/arm/include/asm/unistd.h | 2 + arch/arm/kernel/calls.S | 2 +- arch/arm/kernel/entry-common.S | 29 +++++++-- arch/arm/kernel/process.c | 75 ++++------------------ arch/arm/kernel/sys_arm.c | 63 ------------------ arch/avr32/include/asm/Kbuild | 1 + arch/avr32/include/asm/exec.h | 13 ---- arch/c6x/include/asm/Kbuild | 1 + arch/c6x/include/asm/exec.h | 6 -- arch/cris/include/asm/Kbuild | 2 + arch/cris/include/asm/exec.h | 6 -- arch/frv/include/asm/Kbuild | 1 + arch/frv/include/asm/exec.h | 17 ----- arch/h8300/include/asm/Kbuild | 1 + arch/h8300/include/asm/exec.h | 6 -- arch/hexagon/kernel/syscall.c | 1 - arch/ia64/include/asm/Kbuild | 1 + arch/ia64/include/asm/exec.h | 14 ---- arch/m32r/include/asm/Kbuild | 2 + arch/m32r/include/asm/exec.h | 14 ---- arch/m68k/include/asm/Kbuild | 1 + arch/m68k/include/asm/exec.h | 6 -- arch/microblaze/include/asm/Kbuild | 1 + arch/microblaze/include/asm/exec.h | 14 ---- arch/mn10300/include/asm/Kbuild | 2 + arch/mn10300/include/asm/exec.h | 16 ----- arch/parisc/include/asm/Kbuild | 1 + arch/parisc/include/asm/exec.h | 6 -- arch/s390/Kconfig | 1 + arch/s390/include/asm/processor.h | 4 +- arch/s390/include/asm/unistd.h | 2 + arch/s390/kernel/compat_linux.c | 26 -------- arch/s390/kernel/compat_linux.h | 2 - arch/s390/kernel/compat_wrapper.S | 2 +- arch/s390/kernel/entry.S | 51 ++++++--------- arch/s390/kernel/entry.h | 3 - arch/s390/kernel/entry64.S | 50 ++++++--------- arch/s390/kernel/process.c | 107 ++++++++++--------------------- arch/sh/include/asm/Kbuild | 1 + arch/sh/include/asm/exec.h | 10 --- arch/sparc/include/asm/Kbuild | 1 + arch/sparc/include/asm/exec.h | 6 -- arch/tile/include/asm/Kbuild | 1 + arch/tile/include/asm/exec.h | 20 ------ arch/um/include/asm/processor-generic.h | 11 --- arch/um/kernel/exec.c | 46 ++------------ arch/um/kernel/internal.h | 1 - arch/um/kernel/process.c | 25 ++----- arch/um/kernel/signal.c | 6 ++- arch/um/kernel/syscall.c | 41 ++++-------- arch/unicore32/include/asm/Kbuild | 1 + arch/unicore32/include/asm/exec.h | 15 ---- arch/unicore32/kernel/sys.c | 1 - arch/x86/Kconfig | 1 + arch/x86/ia32/ia32entry.S | 2 +- arch/x86/ia32/sys_ia32.c | 15 ---- arch/x86/include/asm/processor.h | 5 -- arch/x86/include/asm/sys_ia32.h | 2 - arch/x86/include/asm/syscalls.h | 2 +- arch/x86/include/asm/thread_info.h | 2 - arch/x86/include/asm/unistd.h | 2 + arch/x86/kernel/Makefile | 2 +- arch/x86/kernel/asm-offsets.c | 3 + arch/x86/kernel/entry_32.S | 26 +++++-- arch/x86/kernel/entry_64.S | 74 +++++++-------------- arch/x86/kernel/process.c | 65 ------------------- arch/x86/kernel/process_32.c | 37 +++++++++-- arch/x86/kernel/process_64.c | 35 ++++++---- arch/x86/kernel/signal.c | 4 - arch/x86/kernel/sys_i386_32.c | 40 ------------ arch/x86/kernel/vm86_32.c | 6 +- arch/x86/syscalls/syscall_32.tbl | 2 +- arch/x86/um/Kconfig | 1 + arch/x86/um/shared/sysdep/syscalls.h | 2 + arch/x86/um/signal.c | 6 -- arch/x86/um/sys_call_table_32.c | 3 +- arch/x86/um/syscalls_32.c | 27 ++------ arch/x86/um/syscalls_64.c | 23 +------ arch/xtensa/include/asm/Kbuild | 2 + arch/xtensa/include/asm/exec.h | 14 ---- fs/binfmt_elf.c | 1 - fs/binfmt_elf_fdpic.c | 1 - fs/exec.c | 61 ++++++++++++++++-- include/linux/binfmts.h | 6 ++ include/linux/compat.h | 8 ++- include/linux/ptrace.h | 4 + include/linux/sched.h | 3 + kernel/fork.c | 13 ++++- 103 files changed, 431 insertions(+), 993 deletions(-) delete mode 100644 arch/alpha/include/asm/exec.h delete mode 100644 arch/arm/include/asm/exec.h delete mode 100644 arch/avr32/include/asm/exec.h delete mode 100644 arch/c6x/include/asm/exec.h delete mode 100644 arch/cris/include/asm/exec.h delete mode 100644 arch/frv/include/asm/exec.h delete mode 100644 arch/h8300/include/asm/exec.h delete mode 100644 arch/ia64/include/asm/exec.h delete mode 100644 arch/m32r/include/asm/exec.h delete mode 100644 arch/m68k/include/asm/exec.h delete mode 100644 arch/microblaze/include/asm/exec.h delete mode 100644 arch/mn10300/include/asm/exec.h delete mode 100644 arch/parisc/include/asm/exec.h delete mode 100644 arch/sh/include/asm/exec.h delete mode 100644 arch/sparc/include/asm/exec.h delete mode 100644 arch/tile/include/asm/exec.h delete mode 100644 arch/um/kernel/internal.h delete mode 100644 arch/unicore32/include/asm/exec.h delete mode 100644 arch/x86/kernel/sys_i386_32.c delete mode 100644 arch/xtensa/include/asm/exec.h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/