Commit 2f2728f6 authored by Heiko Carstens's avatar Heiko Carstens

mm/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter types

In order to allow the COMPAT_SYSCALL_DEFINE macro generate code that
performs proper zero and sign extension convert all 64 bit parameters
to their corresponding 32 bit compat counterparts.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent ca2c405a
...@@ -469,7 +469,7 @@ asmlinkage long compat_sys_timerfd_settime(int ufd, int flags, ...@@ -469,7 +469,7 @@ asmlinkage long compat_sys_timerfd_settime(int ufd, int flags,
asmlinkage long compat_sys_timerfd_gettime(int ufd, asmlinkage long compat_sys_timerfd_gettime(int ufd,
struct compat_itimerspec __user *otmr); struct compat_itimerspec __user *otmr);
asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_page, asmlinkage long compat_sys_move_pages(pid_t pid, compat_ulong_t nr_pages,
__u32 __user *pages, __u32 __user *pages,
const int __user *nodes, const int __user *nodes,
int __user *status, int __user *status,
...@@ -674,12 +674,12 @@ extern void __user *compat_alloc_user_space(unsigned long len); ...@@ -674,12 +674,12 @@ extern void __user *compat_alloc_user_space(unsigned long len);
asmlinkage ssize_t compat_sys_process_vm_readv(compat_pid_t pid, asmlinkage ssize_t compat_sys_process_vm_readv(compat_pid_t pid,
const struct compat_iovec __user *lvec, const struct compat_iovec __user *lvec,
unsigned long liovcnt, const struct compat_iovec __user *rvec, compat_ulong_t liovcnt, const struct compat_iovec __user *rvec,
unsigned long riovcnt, unsigned long flags); compat_ulong_t riovcnt, compat_ulong_t flags);
asmlinkage ssize_t compat_sys_process_vm_writev(compat_pid_t pid, asmlinkage ssize_t compat_sys_process_vm_writev(compat_pid_t pid,
const struct compat_iovec __user *lvec, const struct compat_iovec __user *lvec,
unsigned long liovcnt, const struct compat_iovec __user *rvec, compat_ulong_t liovcnt, const struct compat_iovec __user *rvec,
unsigned long riovcnt, unsigned long flags); compat_ulong_t riovcnt, compat_ulong_t flags);
asmlinkage long compat_sys_sendfile(int out_fd, int in_fd, asmlinkage long compat_sys_sendfile(int out_fd, int in_fd,
compat_off_t __user *offset, compat_size_t count); compat_off_t __user *offset, compat_size_t count);
......
...@@ -1065,11 +1065,11 @@ COMPAT_SYSCALL_DEFINE1(adjtimex, struct compat_timex __user *, utp) ...@@ -1065,11 +1065,11 @@ COMPAT_SYSCALL_DEFINE1(adjtimex, struct compat_timex __user *, utp)
} }
#ifdef CONFIG_NUMA #ifdef CONFIG_NUMA
asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_pages, COMPAT_SYSCALL_DEFINE6(move_pages, pid_t, pid, compat_ulong_t, nr_pages,
compat_uptr_t __user *pages32, compat_uptr_t __user *, pages32,
const int __user *nodes, const int __user *, nodes,
int __user *status, int __user *, status,
int flags) int, flags)
{ {
const void __user * __user *pages; const void __user * __user *pages;
int i; int i;
......
...@@ -456,25 +456,23 @@ compat_process_vm_rw(compat_pid_t pid, ...@@ -456,25 +456,23 @@ compat_process_vm_rw(compat_pid_t pid,
return rc; return rc;
} }
asmlinkage ssize_t COMPAT_SYSCALL_DEFINE6(process_vm_readv, compat_pid_t, pid,
compat_sys_process_vm_readv(compat_pid_t pid, const struct compat_iovec __user *, lvec,
const struct compat_iovec __user *lvec, compat_ulong_t, liovcnt,
unsigned long liovcnt, const struct compat_iovec __user *, rvec,
const struct compat_iovec __user *rvec, compat_ulong_t, riovcnt,
unsigned long riovcnt, compat_ulong_t, flags)
unsigned long flags)
{ {
return compat_process_vm_rw(pid, lvec, liovcnt, rvec, return compat_process_vm_rw(pid, lvec, liovcnt, rvec,
riovcnt, flags, 0); riovcnt, flags, 0);
} }
asmlinkage ssize_t COMPAT_SYSCALL_DEFINE6(process_vm_writev, compat_pid_t, pid,
compat_sys_process_vm_writev(compat_pid_t pid, const struct compat_iovec __user *, lvec,
const struct compat_iovec __user *lvec, compat_ulong_t, liovcnt,
unsigned long liovcnt, const struct compat_iovec __user *, rvec,
const struct compat_iovec __user *rvec, compat_ulong_t, riovcnt,
unsigned long riovcnt, compat_ulong_t, flags)
unsigned long flags)
{ {
return compat_process_vm_rw(pid, lvec, liovcnt, rvec, return compat_process_vm_rw(pid, lvec, liovcnt, rvec,
riovcnt, flags, 1); riovcnt, flags, 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment