From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sat, 13 Oct 2012 01:05:52 +0000 (+0900)
Subject: Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
X-Git-Tag: firefly_0821_release~3680^2~1835
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4e21fc138bfd7fe625ff5dc81541399aaf9d429b;p=firefly-linux-kernel-4.4.55.git

Merge branch 'for-linus' of git://git./linux/kernel/git/viro/signal

Pull third pile of kernel_execve() patches from Al Viro:
 "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."

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

4e21fc138bfd7fe625ff5dc81541399aaf9d429b
diff --cc arch/powerpc/platforms/pseries/eeh_event.c
index 51faaac8abe6,75e2eccefca2..185bedd926df
--- a/arch/powerpc/platforms/pseries/eeh_event.c
+++ b/arch/powerpc/platforms/pseries/eeh_event.c
@@@ -57,10 -58,8 +58,8 @@@ static int eeh_event_handler(void * dum
  {
  	unsigned long flags;
  	struct eeh_event *event;
 -	struct eeh_dev *edev;
 +	struct eeh_pe *pe;
  
- 	set_task_comm(current, "eehd");
- 
  	spin_lock_irqsave(&eeh_eventlist_lock, flags);
  	event = NULL;
  
diff --cc arch/x86/Kconfig
index 42d2c35a5bbd,45edcba41e39..70071b19eb98
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@@ -106,13 -97,11 +106,14 @@@ config X8
  	select KTIME_SCALAR if X86_32
  	select GENERIC_STRNCPY_FROM_USER
  	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
  
  config INSTRUCTION_DECODER
 -	def_bool (KPROBES || PERF_EVENTS || UPROBES)
 +	def_bool y
 +	depends on KPROBES || PERF_EVENTS || UPROBES
  
  config OUTPUT_FORMAT
  	string