switch timerfd compat syscalls to COMPAT_SYSCALL_DEFINE
... and move them over to fs/timerfd.c. Cleaner and easier that way... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
41
fs/compat.c
41
fs/compat.c
@@ -1737,47 +1737,6 @@ asmlinkage long compat_sys_signalfd(int ufd,
|
||||
}
|
||||
#endif /* CONFIG_SIGNALFD */
|
||||
|
||||
#ifdef CONFIG_TIMERFD
|
||||
|
||||
asmlinkage long compat_sys_timerfd_settime(int ufd, int flags,
|
||||
const struct compat_itimerspec __user *utmr,
|
||||
struct compat_itimerspec __user *otmr)
|
||||
{
|
||||
int error;
|
||||
struct itimerspec t;
|
||||
struct itimerspec __user *ut;
|
||||
|
||||
if (get_compat_itimerspec(&t, utmr))
|
||||
return -EFAULT;
|
||||
ut = compat_alloc_user_space(2 * sizeof(struct itimerspec));
|
||||
if (copy_to_user(&ut[0], &t, sizeof(t)))
|
||||
return -EFAULT;
|
||||
error = sys_timerfd_settime(ufd, flags, &ut[0], &ut[1]);
|
||||
if (!error && otmr)
|
||||
error = (copy_from_user(&t, &ut[1], sizeof(struct itimerspec)) ||
|
||||
put_compat_itimerspec(otmr, &t)) ? -EFAULT: 0;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_timerfd_gettime(int ufd,
|
||||
struct compat_itimerspec __user *otmr)
|
||||
{
|
||||
int error;
|
||||
struct itimerspec t;
|
||||
struct itimerspec __user *ut;
|
||||
|
||||
ut = compat_alloc_user_space(sizeof(struct itimerspec));
|
||||
error = sys_timerfd_gettime(ufd, ut);
|
||||
if (!error)
|
||||
error = (copy_from_user(&t, ut, sizeof(struct itimerspec)) ||
|
||||
put_compat_itimerspec(otmr, &t)) ? -EFAULT: 0;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_TIMERFD */
|
||||
|
||||
#ifdef CONFIG_FHANDLE
|
||||
/*
|
||||
* Exactly like fs/open.c:sys_open_by_handle_at(), except that it
|
||||
|
Reference in New Issue
Block a user