OSDN Git Service

sparc: get rid of sys_sparc_pipe() wrappers
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 20 Mar 2018 00:48:50 +0000 (20:48 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 20 Mar 2018 00:48:50 +0000 (20:48 -0400)
just use current_pt_regs()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/sparc/kernel/entry.S
arch/sparc/kernel/sys_sparc_32.c
arch/sparc/kernel/sys_sparc_64.c
arch/sparc/kernel/syscalls.S
arch/sparc/kernel/systbls.h

index 358fe4e..b479179 100644 (file)
@@ -814,14 +814,6 @@ sunos_execv:
         clr    %i2
 
        .align  4
-       .globl  sys_sparc_pipe
-sys_sparc_pipe:
-       mov     %o7, %l5
-       add     %sp, STACKFRAME_SZ, %o0         ! pt_regs *regs arg
-       call    sparc_pipe
-        mov    %l5, %o7
-
-       .align  4
        .globl  sys_sigstack
 sys_sigstack:
        mov     %o7, %l5
index 990703b..c47e942 100644 (file)
@@ -73,7 +73,7 @@ unsigned long arch_get_unmapped_area(struct file *filp, unsigned long addr, unsi
  * sys_pipe() is the normal C calling standard for creating
  * a pipe. It's not the way unix traditionally does this, though.
  */
-asmlinkage long sparc_pipe(struct pt_regs *regs)
+SYSCALL_DEFINE0(sparc_pipe)
 {
        int fd[2];
        int error;
@@ -81,7 +81,7 @@ asmlinkage long sparc_pipe(struct pt_regs *regs)
        error = do_pipe_flags(fd, 0);
        if (error)
                goto out;
-       regs->u_regs[UREG_I1] = fd[1];
+       current_pt_regs()->u_regs[UREG_I1] = fd[1];
        error = fd[0];
 out:
        return error;
index 55416db..c8d759e 100644 (file)
@@ -310,7 +310,7 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
  * sys_pipe() is the normal C calling standard for creating
  * a pipe. It's not the way unix traditionally does this, though.
  */
-SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs)
+SYSCALL_DEFINE0(sparc_pipe)
 {
        int fd[2];
        int error;
@@ -318,7 +318,7 @@ SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs)
        error = do_pipe_flags(fd, 0);
        if (error)
                goto out;
-       regs->u_regs[UREG_I1] = fd[1];
+       current_pt_regs()->u_regs[UREG_I1] = fd[1];
        error = fd[0];
 out:
        return error;
index c5f9ec8..f4c8fa7 100644 (file)
@@ -27,9 +27,6 @@ sys32_execveat:
 #endif
 
        .align  32
-sys_sparc_pipe:
-       ba,pt   %xcc, sys_sparc_pipe_real
-        add    %sp, PTREGS_OFF, %o0
 sys_nis_syscall:
        ba,pt   %xcc, c_sys_nis_syscall
         add    %sp, PTREGS_OFF, %o0
index 5a01cfe..0c9434d 100644 (file)
@@ -10,7 +10,7 @@
 #include <asm/utrap.h>
 
 asmlinkage unsigned long sys_getpagesize(void);
-asmlinkage long sparc_pipe(struct pt_regs *regs);
+asmlinkage long sys_sparc_pipe(void);
 asmlinkage unsigned long c_sys_nis_syscall(struct pt_regs *regs);
 asmlinkage long sys_getdomainname(char __user *name, int len);
 void do_rt_sigreturn(struct pt_regs *regs);