diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/include/asm/syscalls.h | 4 | ||||
-rw-r--r-- | arch/x86/kernel/tls.c | 14 | ||||
-rw-r--r-- | arch/x86/um/tls_32.c | 5 |
3 files changed, 10 insertions, 13 deletions
diff --git a/arch/x86/include/asm/syscalls.h b/arch/x86/include/asm/syscalls.h index 6cf0a9cc60cd..5f87b35fd2ef 100644 --- a/arch/x86/include/asm/syscalls.h +++ b/arch/x86/include/asm/syscalls.h | |||
@@ -27,8 +27,8 @@ asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); | |||
27 | long sys_rt_sigreturn(void); | 27 | long sys_rt_sigreturn(void); |
28 | 28 | ||
29 | /* kernel/tls.c */ | 29 | /* kernel/tls.c */ |
30 | asmlinkage int sys_set_thread_area(struct user_desc __user *); | 30 | asmlinkage long sys_set_thread_area(struct user_desc __user *); |
31 | asmlinkage int sys_get_thread_area(struct user_desc __user *); | 31 | asmlinkage long sys_get_thread_area(struct user_desc __user *); |
32 | 32 | ||
33 | /* X86_32 only */ | 33 | /* X86_32 only */ |
34 | #ifdef CONFIG_X86_32 | 34 | #ifdef CONFIG_X86_32 |
diff --git a/arch/x86/kernel/tls.c b/arch/x86/kernel/tls.c index 9d9d2f9e77a5..f7fec09e3e3a 100644 --- a/arch/x86/kernel/tls.c +++ b/arch/x86/kernel/tls.c | |||
@@ -3,13 +3,13 @@ | |||
3 | #include <linux/sched.h> | 3 | #include <linux/sched.h> |
4 | #include <linux/user.h> | 4 | #include <linux/user.h> |
5 | #include <linux/regset.h> | 5 | #include <linux/regset.h> |
6 | #include <linux/syscalls.h> | ||
6 | 7 | ||
7 | #include <asm/uaccess.h> | 8 | #include <asm/uaccess.h> |
8 | #include <asm/desc.h> | 9 | #include <asm/desc.h> |
9 | #include <asm/ldt.h> | 10 | #include <asm/ldt.h> |
10 | #include <asm/processor.h> | 11 | #include <asm/processor.h> |
11 | #include <asm/proto.h> | 12 | #include <asm/proto.h> |
12 | #include <asm/syscalls.h> | ||
13 | 13 | ||
14 | #include "tls.h" | 14 | #include "tls.h" |
15 | 15 | ||
@@ -89,11 +89,9 @@ int do_set_thread_area(struct task_struct *p, int idx, | |||
89 | return 0; | 89 | return 0; |
90 | } | 90 | } |
91 | 91 | ||
92 | asmlinkage int sys_set_thread_area(struct user_desc __user *u_info) | 92 | SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, u_info) |
93 | { | 93 | { |
94 | int ret = do_set_thread_area(current, -1, u_info, 1); | 94 | return do_set_thread_area(current, -1, u_info, 1); |
95 | asmlinkage_protect(1, ret, u_info); | ||
96 | return ret; | ||
97 | } | 95 | } |
98 | 96 | ||
99 | 97 | ||
@@ -139,11 +137,9 @@ int do_get_thread_area(struct task_struct *p, int idx, | |||
139 | return 0; | 137 | return 0; |
140 | } | 138 | } |
141 | 139 | ||
142 | asmlinkage int sys_get_thread_area(struct user_desc __user *u_info) | 140 | SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, u_info) |
143 | { | 141 | { |
144 | int ret = do_get_thread_area(current, -1, u_info); | 142 | return do_get_thread_area(current, -1, u_info); |
145 | asmlinkage_protect(1, ret, u_info); | ||
146 | return ret; | ||
147 | } | 143 | } |
148 | 144 | ||
149 | int regset_tls_active(struct task_struct *target, | 145 | int regset_tls_active(struct task_struct *target, |
diff --git a/arch/x86/um/tls_32.c b/arch/x86/um/tls_32.c index 5f5feff3d24c..80ffa5b9982d 100644 --- a/arch/x86/um/tls_32.c +++ b/arch/x86/um/tls_32.c | |||
@@ -5,6 +5,7 @@ | |||
5 | 5 | ||
6 | #include <linux/percpu.h> | 6 | #include <linux/percpu.h> |
7 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
8 | #include <linux/syscalls.h> | ||
8 | #include <asm/uaccess.h> | 9 | #include <asm/uaccess.h> |
9 | #include <os.h> | 10 | #include <os.h> |
10 | #include <skas.h> | 11 | #include <skas.h> |
@@ -274,7 +275,7 @@ clear: | |||
274 | goto out; | 275 | goto out; |
275 | } | 276 | } |
276 | 277 | ||
277 | int sys_set_thread_area(struct user_desc __user *user_desc) | 278 | SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, user_desc) |
278 | { | 279 | { |
279 | struct user_desc info; | 280 | struct user_desc info; |
280 | int idx, ret; | 281 | int idx, ret; |
@@ -322,7 +323,7 @@ int ptrace_set_thread_area(struct task_struct *child, int idx, | |||
322 | return set_tls_entry(child, &info, idx, 0); | 323 | return set_tls_entry(child, &info, idx, 0); |
323 | } | 324 | } |
324 | 325 | ||
325 | int sys_get_thread_area(struct user_desc __user *user_desc) | 326 | SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, user_desc) |
326 | { | 327 | { |
327 | struct user_desc info; | 328 | struct user_desc info; |
328 | int idx, ret; | 329 | int idx, ret; |