make SYSCALL_DEFINE<n>-generated wrappers do asmlinkage_protect

... and switch i386 to HAVE_SYSCALL_WRAPPERS, killing open-coded
uses of asmlinkage_protect() in a bunch of syscalls.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2013-01-21 15:25:54 -05:00
parent 22d1a35da0
commit 2cf0966683
9 changed files with 31 additions and 89 deletions

View file

@ -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"
@ -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);
}
@ -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,