x86: get rid of pt_regs argument in vm86/vm86old
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 12 Nov 2012 19:38:28 +0000 (14:38 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Feb 2013 23:16:24 +0000 (18:16 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/x86/include/asm/syscalls.h
arch/x86/kernel/entry_32.S
arch/x86/kernel/vm86_32.c
arch/x86/syscalls/syscall_32.tbl
arch/x86/um/sys_call_table_32.c

index de2e1ab913bb4e6e346f391d717329b21685b767..f755423a5d02fa99355021d9922b3e630115b73c 100644 (file)
@@ -40,8 +40,8 @@ asmlinkage int sys_sigaction(int, const struct old_sigaction __user *,
 unsigned long sys_sigreturn(void);
 
 /* kernel/vm86_32.c */
-int sys_vm86old(struct vm86_struct __user *, struct pt_regs *);
-int sys_vm86(unsigned long, unsigned long, struct pt_regs *);
+int sys_vm86old(struct vm86_struct __user *);
+int sys_vm86(unsigned long, unsigned long);
 
 #else /* CONFIG_X86_32 */
 
index e132cf6ea1409bc6f3c67d1085d67377b52bd5d3..352e5a9279ece847e946eb3b272d9785b8271dab 100644 (file)
@@ -699,27 +699,6 @@ END(syscall_badsys)
  */
        .popsection
 
-/*
- * System calls that need a pt_regs pointer.
- */
-#define PTREGSCALL1(name) \
-ENTRY(ptregs_##name) ; \
-       leal 4(%esp),%edx; \
-       movl (PT_EBX+4)(%esp),%eax; \
-       jmp sys_##name; \
-ENDPROC(ptregs_##name)
-
-#define PTREGSCALL2(name) \
-ENTRY(ptregs_##name) ; \
-       leal 4(%esp),%ecx; \
-       movl (PT_ECX+4)(%esp),%edx; \
-       movl (PT_EBX+4)(%esp),%eax; \
-       jmp sys_##name; \
-ENDPROC(ptregs_##name)
-
-PTREGSCALL2(vm86)
-PTREGSCALL1(vm86old)
-
 .macro FIXUP_ESPFIX_STACK
 /*
  * Switch back for ESPFIX stack to the normal zerobased stack
index 1dfe69cc78a81b90cc7d1edefc6d8e53f51c38c8..1cf5766dde169448e109101e981632bb6a6407a5 100644 (file)
@@ -202,7 +202,7 @@ out:
 static int do_vm86_irq_handling(int subfunction, int irqnumber);
 static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk);
 
-int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs)
+int sys_vm86old(struct vm86_struct __user *v86)
 {
        struct kernel_vm86_struct info; /* declare this _on top_,
                                         * this avoids wasting of stack space.
@@ -222,7 +222,7 @@ int sys_vm86old(struct vm86_struct __user *v86, struct pt_regs *regs)
        if (tmp)
                goto out;
        memset(&info.vm86plus, 0, (int)&info.regs32 - (int)&info.vm86plus);
-       info.regs32 = regs;
+       info.regs32 = current_pt_regs();
        tsk->thread.vm86_info = v86;
        do_sys_vm86(&info, tsk);
        ret = 0;        /* we never return here */
@@ -231,7 +231,7 @@ out:
 }
 
 
-int sys_vm86(unsigned long cmd, unsigned long arg, struct pt_regs *regs)
+int sys_vm86(unsigned long cmd, unsigned long arg)
 {
        struct kernel_vm86_struct info; /* declare this _on top_,
                                         * this avoids wasting of stack space.
@@ -272,7 +272,7 @@ int sys_vm86(unsigned long cmd, unsigned long arg, struct pt_regs *regs)
        ret = -EFAULT;
        if (tmp)
                goto out;
-       info.regs32 = regs;
+       info.regs32 = current_pt_regs();
        info.vm86plus.is_vm86pus = 1;
        tsk->thread.vm86_info = (struct vm86_struct __user *)v86;
        do_sys_vm86(&info, tsk);
index 4e8ab081ee3d61f2b263a597388f36a7223f1762..250e2d99059826027e26932a64c74be1187d24ae 100644 (file)
 110    i386    iopl                    sys_iopl
 111    i386    vhangup                 sys_vhangup
 112    i386    idle
-113    i386    vm86old                 ptregs_vm86old                  sys32_vm86_warning
+113    i386    vm86old                 sys_vm86old                     sys32_vm86_warning
 114    i386    wait4                   sys_wait4                       compat_sys_wait4
 115    i386    swapoff                 sys_swapoff
 116    i386    sysinfo                 sys_sysinfo                     compat_sys_sysinfo
 163    i386    mremap                  sys_mremap
 164    i386    setresuid               sys_setresuid16
 165    i386    getresuid               sys_getresuid16
-166    i386    vm86                    ptregs_vm86                     sys32_vm86_warning
+166    i386    vm86                    sys_vm86                        sys32_vm86_warning
 167    i386    query_module
 168    i386    poll                    sys_poll
 169    i386    nfsservctl
index 5cc2bcefb6ab17ea5085600b74be47b1c851061c..531d4269e2e3c5303e8b40e6753dd20ddab3c405 100644 (file)
@@ -24,9 +24,6 @@
 
 #define old_mmap sys_old_mmap
 
-#define ptregs_vm86old sys_vm86old
-#define ptregs_vm86 sys_vm86
-
 #define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void sym(void) ;
 #include <asm/syscalls_32.h>