Loading arch/x86/include/asm/syscalls.h +2 −2 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); long sys_rt_sigreturn(void); /* kernel/tls.c */ asmlinkage int sys_set_thread_area(struct user_desc __user *); asmlinkage int sys_get_thread_area(struct user_desc __user *); asmlinkage long sys_set_thread_area(struct user_desc __user *); asmlinkage long sys_get_thread_area(struct user_desc __user *); /* X86_32 only */ #ifdef CONFIG_X86_32 Loading arch/x86/kernel/tls.c +5 −9 Original line number Diff line number Diff line Loading @@ -3,13 +3,13 @@ #include <linux/sched.h> #include <linux/user.h> #include <linux/regset.h> #include <linux/syscalls.h> #include <asm/uaccess.h> #include <asm/desc.h> #include <asm/ldt.h> #include <asm/processor.h> #include <asm/proto.h> #include <asm/syscalls.h> #include "tls.h" Loading Loading @@ -89,11 +89,9 @@ int do_set_thread_area(struct task_struct *p, int idx, return 0; } asmlinkage int sys_set_thread_area(struct user_desc __user *u_info) SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, u_info) { int ret = do_set_thread_area(current, -1, u_info, 1); asmlinkage_protect(1, ret, u_info); return ret; return do_set_thread_area(current, -1, u_info, 1); } Loading Loading @@ -139,11 +137,9 @@ int do_get_thread_area(struct task_struct *p, int idx, return 0; } asmlinkage int sys_get_thread_area(struct user_desc __user *u_info) SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, u_info) { int ret = do_get_thread_area(current, -1, u_info); asmlinkage_protect(1, ret, u_info); return ret; return do_get_thread_area(current, -1, u_info); } int regset_tls_active(struct task_struct *target, Loading arch/x86/um/tls_32.c +3 −2 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ #include <linux/percpu.h> #include <linux/sched.h> #include <linux/syscalls.h> #include <asm/uaccess.h> #include <os.h> #include <skas.h> Loading Loading @@ -274,7 +275,7 @@ static int get_tls_entry(struct task_struct *task, struct user_desc *info, goto out; } int sys_set_thread_area(struct user_desc __user *user_desc) SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, user_desc) { struct user_desc info; int idx, ret; Loading Loading @@ -322,7 +323,7 @@ int ptrace_set_thread_area(struct task_struct *child, int idx, return set_tls_entry(child, &info, idx, 0); } int sys_get_thread_area(struct user_desc __user *user_desc) SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, user_desc) { struct user_desc info; int idx, ret; Loading fs/aio.c +0 −2 Original line number Diff line number Diff line Loading @@ -1790,7 +1790,5 @@ SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id, ret = read_events(ioctx, min_nr, nr, events, timeout); put_ioctx(ioctx); } asmlinkage_protect(5, ret, ctx_id, min_nr, nr, events, timeout); return ret; } fs/open.c +4 −20 Original line number Diff line number Diff line Loading @@ -197,10 +197,7 @@ static long do_sys_ftruncate(unsigned int fd, loff_t length, int small) SYSCALL_DEFINE2(ftruncate, unsigned int, fd, unsigned long, length) { long ret = do_sys_ftruncate(fd, length, 1); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(2, ret, fd, length); return ret; return do_sys_ftruncate(fd, length, 1); } #ifdef CONFIG_COMPAT Loading @@ -219,10 +216,7 @@ SYSCALL_DEFINE2(truncate64, const char __user *, path, loff_t, length) SYSCALL_DEFINE2(ftruncate64, unsigned int, fd, loff_t, length) { long ret = do_sys_ftruncate(fd, length, 0); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(2, ret, fd, length); return ret; return do_sys_ftruncate(fd, length, 0); } #endif /* BITS_PER_LONG == 32 */ Loading Loading @@ -961,29 +955,19 @@ long do_sys_open(int dfd, const char __user *filename, int flags, umode_t mode) SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode) { long ret; if (force_o_largefile()) flags |= O_LARGEFILE; ret = do_sys_open(AT_FDCWD, filename, flags, mode); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(3, ret, filename, flags, mode); return ret; return do_sys_open(AT_FDCWD, filename, flags, mode); } SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags, umode_t, mode) { long ret; if (force_o_largefile()) flags |= O_LARGEFILE; ret = do_sys_open(dfd, filename, flags, mode); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(4, ret, dfd, filename, flags, mode); return ret; return do_sys_open(dfd, filename, flags, mode); } #ifndef __alpha__ Loading Loading
arch/x86/include/asm/syscalls.h +2 −2 Original line number Diff line number Diff line Loading @@ -27,8 +27,8 @@ asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); long sys_rt_sigreturn(void); /* kernel/tls.c */ asmlinkage int sys_set_thread_area(struct user_desc __user *); asmlinkage int sys_get_thread_area(struct user_desc __user *); asmlinkage long sys_set_thread_area(struct user_desc __user *); asmlinkage long sys_get_thread_area(struct user_desc __user *); /* X86_32 only */ #ifdef CONFIG_X86_32 Loading
arch/x86/kernel/tls.c +5 −9 Original line number Diff line number Diff line Loading @@ -3,13 +3,13 @@ #include <linux/sched.h> #include <linux/user.h> #include <linux/regset.h> #include <linux/syscalls.h> #include <asm/uaccess.h> #include <asm/desc.h> #include <asm/ldt.h> #include <asm/processor.h> #include <asm/proto.h> #include <asm/syscalls.h> #include "tls.h" Loading Loading @@ -89,11 +89,9 @@ int do_set_thread_area(struct task_struct *p, int idx, return 0; } asmlinkage int sys_set_thread_area(struct user_desc __user *u_info) SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, u_info) { int ret = do_set_thread_area(current, -1, u_info, 1); asmlinkage_protect(1, ret, u_info); return ret; return do_set_thread_area(current, -1, u_info, 1); } Loading Loading @@ -139,11 +137,9 @@ int do_get_thread_area(struct task_struct *p, int idx, return 0; } asmlinkage int sys_get_thread_area(struct user_desc __user *u_info) SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, u_info) { int ret = do_get_thread_area(current, -1, u_info); asmlinkage_protect(1, ret, u_info); return ret; return do_get_thread_area(current, -1, u_info); } int regset_tls_active(struct task_struct *target, Loading
arch/x86/um/tls_32.c +3 −2 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ #include <linux/percpu.h> #include <linux/sched.h> #include <linux/syscalls.h> #include <asm/uaccess.h> #include <os.h> #include <skas.h> Loading Loading @@ -274,7 +275,7 @@ static int get_tls_entry(struct task_struct *task, struct user_desc *info, goto out; } int sys_set_thread_area(struct user_desc __user *user_desc) SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, user_desc) { struct user_desc info; int idx, ret; Loading Loading @@ -322,7 +323,7 @@ int ptrace_set_thread_area(struct task_struct *child, int idx, return set_tls_entry(child, &info, idx, 0); } int sys_get_thread_area(struct user_desc __user *user_desc) SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, user_desc) { struct user_desc info; int idx, ret; Loading
fs/aio.c +0 −2 Original line number Diff line number Diff line Loading @@ -1790,7 +1790,5 @@ SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id, ret = read_events(ioctx, min_nr, nr, events, timeout); put_ioctx(ioctx); } asmlinkage_protect(5, ret, ctx_id, min_nr, nr, events, timeout); return ret; }
fs/open.c +4 −20 Original line number Diff line number Diff line Loading @@ -197,10 +197,7 @@ static long do_sys_ftruncate(unsigned int fd, loff_t length, int small) SYSCALL_DEFINE2(ftruncate, unsigned int, fd, unsigned long, length) { long ret = do_sys_ftruncate(fd, length, 1); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(2, ret, fd, length); return ret; return do_sys_ftruncate(fd, length, 1); } #ifdef CONFIG_COMPAT Loading @@ -219,10 +216,7 @@ SYSCALL_DEFINE2(truncate64, const char __user *, path, loff_t, length) SYSCALL_DEFINE2(ftruncate64, unsigned int, fd, loff_t, length) { long ret = do_sys_ftruncate(fd, length, 0); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(2, ret, fd, length); return ret; return do_sys_ftruncate(fd, length, 0); } #endif /* BITS_PER_LONG == 32 */ Loading Loading @@ -961,29 +955,19 @@ long do_sys_open(int dfd, const char __user *filename, int flags, umode_t mode) SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode) { long ret; if (force_o_largefile()) flags |= O_LARGEFILE; ret = do_sys_open(AT_FDCWD, filename, flags, mode); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(3, ret, filename, flags, mode); return ret; return do_sys_open(AT_FDCWD, filename, flags, mode); } SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags, umode_t, mode) { long ret; if (force_o_largefile()) flags |= O_LARGEFILE; ret = do_sys_open(dfd, filename, flags, mode); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(4, ret, dfd, filename, flags, mode); return ret; return do_sys_open(dfd, filename, flags, mode); } #ifndef __alpha__ Loading