mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
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: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
ca2c405ab9
commit
2f2728f6de
@ -469,7 +469,7 @@ asmlinkage long compat_sys_timerfd_settime(int ufd, int flags,
|
||||
asmlinkage long compat_sys_timerfd_gettime(int ufd,
|
||||
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,
|
||||
const int __user *nodes,
|
||||
int __user *status,
|
||||
@ -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,
|
||||
const struct compat_iovec __user *lvec,
|
||||
unsigned long liovcnt, const struct compat_iovec __user *rvec,
|
||||
unsigned long riovcnt, unsigned long flags);
|
||||
compat_ulong_t liovcnt, const struct compat_iovec __user *rvec,
|
||||
compat_ulong_t riovcnt, compat_ulong_t flags);
|
||||
asmlinkage ssize_t compat_sys_process_vm_writev(compat_pid_t pid,
|
||||
const struct compat_iovec __user *lvec,
|
||||
unsigned long liovcnt, const struct compat_iovec __user *rvec,
|
||||
unsigned long riovcnt, unsigned long flags);
|
||||
compat_ulong_t liovcnt, const struct compat_iovec __user *rvec,
|
||||
compat_ulong_t riovcnt, compat_ulong_t flags);
|
||||
|
||||
asmlinkage long compat_sys_sendfile(int out_fd, int in_fd,
|
||||
compat_off_t __user *offset, compat_size_t count);
|
||||
|
@ -1065,11 +1065,11 @@ COMPAT_SYSCALL_DEFINE1(adjtimex, struct compat_timex __user *, utp)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
asmlinkage long compat_sys_move_pages(pid_t pid, unsigned long nr_pages,
|
||||
compat_uptr_t __user *pages32,
|
||||
const int __user *nodes,
|
||||
int __user *status,
|
||||
int flags)
|
||||
COMPAT_SYSCALL_DEFINE6(move_pages, pid_t, pid, compat_ulong_t, nr_pages,
|
||||
compat_uptr_t __user *, pages32,
|
||||
const int __user *, nodes,
|
||||
int __user *, status,
|
||||
int, flags)
|
||||
{
|
||||
const void __user * __user *pages;
|
||||
int i;
|
||||
|
@ -456,25 +456,23 @@ free_iovecs:
|
||||
return rc;
|
||||
}
|
||||
|
||||
asmlinkage ssize_t
|
||||
compat_sys_process_vm_readv(compat_pid_t pid,
|
||||
const struct compat_iovec __user *lvec,
|
||||
unsigned long liovcnt,
|
||||
const struct compat_iovec __user *rvec,
|
||||
unsigned long riovcnt,
|
||||
unsigned long flags)
|
||||
COMPAT_SYSCALL_DEFINE6(process_vm_readv, compat_pid_t, pid,
|
||||
const struct compat_iovec __user *, lvec,
|
||||
compat_ulong_t, liovcnt,
|
||||
const struct compat_iovec __user *, rvec,
|
||||
compat_ulong_t, riovcnt,
|
||||
compat_ulong_t, flags)
|
||||
{
|
||||
return compat_process_vm_rw(pid, lvec, liovcnt, rvec,
|
||||
riovcnt, flags, 0);
|
||||
}
|
||||
|
||||
asmlinkage ssize_t
|
||||
compat_sys_process_vm_writev(compat_pid_t pid,
|
||||
const struct compat_iovec __user *lvec,
|
||||
unsigned long liovcnt,
|
||||
const struct compat_iovec __user *rvec,
|
||||
unsigned long riovcnt,
|
||||
unsigned long flags)
|
||||
COMPAT_SYSCALL_DEFINE6(process_vm_writev, compat_pid_t, pid,
|
||||
const struct compat_iovec __user *, lvec,
|
||||
compat_ulong_t, liovcnt,
|
||||
const struct compat_iovec __user *, rvec,
|
||||
compat_ulong_t, riovcnt,
|
||||
compat_ulong_t, flags)
|
||||
{
|
||||
return compat_process_vm_rw(pid, lvec, liovcnt, rvec,
|
||||
riovcnt, flags, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user