diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-04 11:18:23 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-06 10:30:47 -0500 |
commit | 2f2728f6de9837abe4b354443a45be578fbbf942 (patch) | |
tree | 6305f0c201998040ee05d21fc178849c65e430e7 /mm | |
parent | ca2c405ab90591dcb1bc3765467cbdf2b99a0f6a (diff) |
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>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/process_vm_access.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/mm/process_vm_access.c b/mm/process_vm_access.c index fd26d0433509..3c5cf68566ec 100644 --- a/mm/process_vm_access.c +++ b/mm/process_vm_access.c | |||
@@ -456,25 +456,23 @@ free_iovecs: | |||
456 | return rc; | 456 | return rc; |
457 | } | 457 | } |
458 | 458 | ||
459 | asmlinkage ssize_t | 459 | COMPAT_SYSCALL_DEFINE6(process_vm_readv, compat_pid_t, pid, |
460 | compat_sys_process_vm_readv(compat_pid_t pid, | 460 | const struct compat_iovec __user *, lvec, |
461 | const struct compat_iovec __user *lvec, | 461 | compat_ulong_t, liovcnt, |
462 | unsigned long liovcnt, | 462 | const struct compat_iovec __user *, rvec, |
463 | const struct compat_iovec __user *rvec, | 463 | compat_ulong_t, riovcnt, |
464 | unsigned long riovcnt, | 464 | compat_ulong_t, flags) |
465 | unsigned long flags) | ||
466 | { | 465 | { |
467 | return compat_process_vm_rw(pid, lvec, liovcnt, rvec, | 466 | return compat_process_vm_rw(pid, lvec, liovcnt, rvec, |
468 | riovcnt, flags, 0); | 467 | riovcnt, flags, 0); |
469 | } | 468 | } |
470 | 469 | ||
471 | asmlinkage ssize_t | 470 | COMPAT_SYSCALL_DEFINE6(process_vm_writev, compat_pid_t, pid, |
472 | compat_sys_process_vm_writev(compat_pid_t pid, | 471 | const struct compat_iovec __user *, lvec, |
473 | const struct compat_iovec __user *lvec, | 472 | compat_ulong_t, liovcnt, |
474 | unsigned long liovcnt, | 473 | const struct compat_iovec __user *, rvec, |
475 | const struct compat_iovec __user *rvec, | 474 | compat_ulong_t, riovcnt, |
476 | unsigned long riovcnt, | 475 | compat_ulong_t, flags) |
477 | unsigned long flags) | ||
478 | { | 476 | { |
479 | return compat_process_vm_rw(pid, lvec, liovcnt, rvec, | 477 | return compat_process_vm_rw(pid, lvec, liovcnt, rvec, |
480 | riovcnt, flags, 1); | 478 | riovcnt, flags, 1); |