]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'signal/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 7 Nov 2012 03:52:48 +0000 (14:52 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 7 Nov 2012 03:52:48 +0000 (14:52 +1100)
Conflicts:
arch/arm/kernel/process.c
arch/sparc/kernel/sys_sparc_64.c

27 files changed:
1  2 
arch/arm/Kconfig
arch/arm/kernel/calls.S
arch/arm/kernel/entry-common.S
arch/arm/kernel/process.c
arch/avr32/Kconfig
arch/blackfin/include/asm/unistd.h
arch/cris/include/asm/unistd.h
arch/microblaze/include/asm/unistd.h
arch/mips/Kconfig
arch/mips/include/asm/processor.h
arch/mips/kernel/mips_ksyms.c
arch/mips/kernel/scall64-n32.S
arch/powerpc/include/asm/unistd.h
arch/s390/kernel/entry64.S
arch/sparc/include/asm/processor_64.h
arch/sparc/include/asm/thread_info_64.h
arch/sparc/kernel/process_64.c
arch/sparc/kernel/sys_sparc_64.c
arch/sparc/kernel/systbls_64.S
arch/x86/Kconfig
arch/x86/kernel/process.c
arch/x86/syscalls/syscall_32.tbl
drivers/staging/gdm72xx/gdm_usb.c
include/linux/sched.h
include/linux/syscalls.h
kernel/auditsc.c
kernel/fork.c

Simple merge
Simple merge
Simple merge
index 585b9abae60649eaacd413444c99d3a60f424ad3,4ab80bbb6d9572ff7dadeb6b2669d04caee576c8..3406b5bda3b23fa494a6e2c1b189a756b33efc88
@@@ -384,14 -383,11 +384,15 @@@ copy_thread(unsigned long clone_flags, 
  
        memset(&thread->cpu_context, 0, sizeof(struct cpu_context_save));
  
-       if (likely(regs)) {
-               *childregs = *regs;
+       if (likely(!(p->flags & PF_KTHREAD))) {
+               *childregs = *current_pt_regs();
                childregs->ARM_r0 = 0;
-               childregs->ARM_sp = stack_start;
+               if (stack_start)
+                       childregs->ARM_sp = stack_start;
 +#if defined CONFIG_CPU_V7M
 +              /* Return to Thread mode with Process stack */
 +              childregs->ARM_EXC_RET = 0xfffffffdUL;
 +#endif
        } else {
                memset(childregs, 0, sizeof(struct pt_regs));
                thread->cpu_context.r4 = stk_sz;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 878ef3d5fec522d6b23d0640df962f33c2b958df,adfe60ece05f5e2c7b5fa810ed29a9041f44ad87..51b85feb8b973a0cbfaf8f8e35ae347227f0e12a
@@@ -729,30 -729,3 +729,8 @@@ SYSCALL_DEFINE5(rt_sigaction, int, sig
  
        return ret;
  }
- /*
-  * Do a system call from kernel instead of calling sys_execve so we
-  * end up with proper pt_regs.
-  */
- int kernel_execve(const char *filename,
-                 const char *const argv[],
-                 const char *const envp[])
- {
-       long __res;
-       register long __g1 __asm__ ("g1") = __NR_execve;
-       register long __o0 __asm__ ("o0") = (long)(filename);
-       register long __o1 __asm__ ("o1") = (long)(argv);
-       register long __o2 __asm__ ("o2") = (long)(envp);
-       asm volatile ("t 0x6d\n\t"
-                     "sub %%g0, %%o0, %0\n\t"
-                     "movcc %%xcc, %%o0, %0\n\t"
-                     : "=r" (__res), "=&r" (__o0)
-                     : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1)
-                     : "cc");
-       return __res;
- }
 +
 +asmlinkage long sys_kern_features(void)
 +{
 +      return KERN_FEATURE_MIXED_MODE_STACK;
 +}
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc kernel/fork.c
Simple merge