c6x: switch to saner kernel_execve() semantics
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 13 Oct 2012 06:35:21 +0000 (02:35 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 15 Oct 2012 16:51:17 +0000 (12:51 -0400)
ACKed-by: Mark Salter <msalter@redhat.com>
Tested-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/c6x/Kconfig
arch/c6x/include/uapi/asm/unistd.h
arch/c6x/kernel/entry.S

index aee1b569ee6e56c5aa8fa1ee609e91dcff6632f9..66eab3703c7571e77d608609c4e401ffce0ffd77 100644 (file)
@@ -18,6 +18,7 @@ config C6X
        select OF_EARLY_FLATTREE
        select GENERIC_CLOCKEVENTS
        select GENERIC_KERNEL_THREAD
+       select GENERIC_KERNEL_EXECVE
        select MODULES_USE_ELF_RELA
 
 config MMU
index 4ff747d12dad317e408c86bf8df6285bb31d980b..625beafb9cd152f1d0489beaa1edf57464b1887a 100644 (file)
@@ -14,7 +14,6 @@
  *   more details.
  */
 
-#define __ARCH_WANT_KERNEL_EXECVE
 #define __ARCH_WANT_SYS_EXECVE
 
 /* Use the standard ABI for syscalls. */
index 5449c36018fe2d269b2daaa162a25a39bfa53c9b..75f6f36472cfa8cd5bdb29057d0d2b1b904ef70f 100644 (file)
@@ -413,19 +413,9 @@ ENTRY(ret_from_kernel_thread)
 0:
        B       .S2     B10                /* call fn */
        LDW     .D2T1   *+SP(REGS_A1+8),A4 /* get arg */
-       MVKL    .S2     sys_exit,B11
-       MVKH    .S2     sys_exit,B11
-       ADDKPC  .S2     0f,B3,1
-0:
-       BNOP    .S2     B11,5   /* jump to sys_exit */
+       ADDKPC  .S2     ret_from_fork_2,B3,3
 ENDPROC(ret_from_kernel_thread)
 
-ENTRY(ret_from_kernel_execve)
-       GET_THREAD_INFO A12
-       BNOP    .S2     syscall_exit,4
-       ADD     .D2X    A4,-8,SP
-ENDPROC(ret_from_kernel_execve)
-
        ;;
        ;; These are the interrupt handlers, responsible for calling __do_IRQ()
        ;; int6 is used for syscalls (see _system_call entry)