diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-01 07:09:26 -0500 |
|---|---|---|
| committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-04 03:05:47 -0500 |
| commit | 2c81fc4fb41f589454861bbdb90ffde73840b8f8 (patch) | |
| tree | a5f8f323061443320b0636b5319f659d60ea2741 /arch/s390/kernel/compat_linux.c | |
| parent | 00fcb1494f645be4e0cd703756448fc64ca2a44a (diff) | |
s390/compat: add sync_file_range and fallocate compat syscalls
The compat syscall wrappers for sync_file_range and fallocate merged 32 bit
parameters into 64 bit parameters. Therefore they did more than just the
usual zero and/or sign extension of system call parameters.
So convert these two wrappers to full s390 specific compat sytem calls.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/compat_linux.c')
| -rw-r--r-- | arch/s390/kernel/compat_linux.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index 59097741f509..ca38139423ae 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c | |||
| @@ -504,3 +504,17 @@ COMPAT_SYSCALL_DEFINE1(s390_fadvise64_64, struct fadvise64_64_args __user *, arg | |||
| 504 | a.advice = POSIX_FADV_NOREUSE; | 504 | a.advice = POSIX_FADV_NOREUSE; |
| 505 | return sys_fadvise64_64(a.fd, a.offset, a.len, a.advice); | 505 | return sys_fadvise64_64(a.fd, a.offset, a.len, a.advice); |
| 506 | } | 506 | } |
| 507 | |||
| 508 | COMPAT_SYSCALL_DEFINE6(s390_sync_file_range, int, fd, u32, offhigh, u32, offlow, | ||
| 509 | u32, nhigh, u32, nlow, unsigned int, flags) | ||
| 510 | { | ||
| 511 | return sys_sync_file_range(fd, ((loff_t)offhigh << 32) + offlow, | ||
| 512 | ((u64)nhigh << 32) + nlow, flags); | ||
| 513 | } | ||
| 514 | |||
| 515 | COMPAT_SYSCALL_DEFINE6(s390_fallocate, int, fd, int, mode, u32, offhigh, u32, offlow, | ||
| 516 | u32, lenhigh, u32, lenlow) | ||
| 517 | { | ||
| 518 | return sys_fallocate(fd, mode, ((loff_t)offhigh << 32) + offlow, | ||
| 519 | ((u64)lenhigh << 32) + lenlow); | ||
| 520 | } | ||
