[git pull] signals pile 3

From: Al Viro
Date: Fri Oct 12 2012 - 20:53:28 EST


The last bits of infrastructure for kernel_thread() et.al., with alpha/arm/x86
use of those. Plus sanitizing the asm glue and do_notify_resume() on alpha,
fixing the "disabled irq while running task_work stuff" breakage there.

At that point the rest of kernel_thread/kernel_execve/sys_execve work can
be done independently for different architectures. The only pending bits
that do depend on having all architectures converted are restrictred to
fs/* and kernel/* - that'll obviously have to wait for the next cycle.
I thought we'd have to wait for all of them done before we start eliminating
the longjump-style insanity in kernel_execve(), but it turned out there's
a very simple way to do that without flagday-style changes.

Please, pull from
git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal for-linus

Shortlog:
Al Viro (12):
alpha: simplify TIF_NEED_RESCHED handling
alpha: take SIGPENDING/NOTIFY_RESUME loop into signal.c
alpha: don't bother passing switch_stack separately from regs
alpha: get rid of switch_stack argument of do_work_pending()
don't bother with kernel_thread/kernel_execve for launching linuxrc
ppc: eeh_event should just use kthread_run()
make sure that we always have a return path from kernel_execve()
make sure that kernel_thread() callbacks call do_exit() themselves
infrastructure for saner ret_from_kernel_thread semantics
x86, um: convert to saner kernel_execve() semantics
arm: switch to saner kernel_execve() semantics
alpha: switch to saner kernel_execve() semantics

Diffstat:
arch/Kconfig | 3 +
arch/alpha/Kconfig | 1 +
arch/alpha/include/asm/unistd.h | 1 -
arch/alpha/kernel/entry.S | 87 +++++++++-------------------
arch/alpha/kernel/signal.c | 48 +++++++++------
arch/arm/Kconfig | 1 +
arch/arm/include/asm/unistd.h | 1 -
arch/arm/kernel/entry-common.S | 29 +--------
arch/arm/kernel/process.c | 5 +-
arch/powerpc/platforms/pseries/eeh_event.c | 5 +-
arch/um/include/asm/processor-generic.h | 2 -
arch/um/include/shared/os.h | 1 -
arch/um/kernel/exec.c | 5 --
arch/um/kernel/process.c | 10 +--
arch/um/os-Linux/process.c | 13 ----
arch/x86/Kconfig | 1 +
arch/x86/include/asm/unistd.h | 1 -
arch/x86/kernel/entry_32.S | 31 ++++------
arch/x86/kernel/entry_64.S | 24 +------
arch/x86/um/Kconfig | 1 +
include/linux/syscalls.h | 8 +++
init/do_mounts_initrd.c | 41 +++++--------
init/main.c | 33 ++++++-----
kernel/kmod.c | 7 ++-
kernel/kthread.c | 1 +
25 files changed, 137 insertions(+), 223 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/