]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
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 358fe4ef08a24ade8b237b61dfb91c5918476d3e..b47917939bc5e78f9d73154afd1b789f52321433 100644 (file)
@@ -813,14 +813,6 @@ sunos_execv:
        b       sys_execve
         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:
index 990703b7cf4d7d47d26152e510706bc32528d488..c47e9423a25c92b1bf90204878f29189087e5d2a 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 55416db482add475baf4c2fc312605577442470f..c8d759ef783c19da378e6e27d9997a67d483cf4a 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 c5f9ec8c52ebf8ffe33b39ba6c34089499db44e2..f4c8fa7a4b35dcab3cd2281676b89de2d842a283 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 5a01cfe19a0e3f673830c807cf00c72ef5932bad..0c9434d980d7cd6813320334af441b3b400db2c2 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);