aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/compat.h
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-05 04:43:51 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-06 09:35:09 -0500
commit378a10f3ae2e8a67ecc8f548c8e5ff25881bd88a (patch)
treee477b1924739af0585a3b2b6aa8b043a06f7eda0 /include/linux/compat.h
parent291fdb0bcebd5e8db6af767c1fdc522167dad73d (diff)
fs/compat: optional preadv64/pwrite64 compat system calls
The preadv64/pwrite64 have been implemented for the x32 ABI, in order to allow passing 64 bit arguments from user space without splitting them into two 32 bit parameters, like it would be necessary for usual compat tasks. Howevert these two system calls are only being used for the x32 ABI, so add __ARCH_WANT_COMPAT defines for these two compat syscalls and make these two only visible for x86. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'include/linux/compat.h')
-rw-r--r--include/linux/compat.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 179b1da9e19f..1c457428ec0a 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -340,6 +340,19 @@ asmlinkage ssize_t compat_sys_preadv(compat_ulong_t fd,
340asmlinkage ssize_t compat_sys_pwritev(compat_ulong_t fd, 340asmlinkage ssize_t compat_sys_pwritev(compat_ulong_t fd,
341 const struct compat_iovec __user *vec, 341 const struct compat_iovec __user *vec,
342 compat_ulong_t vlen, u32 pos_low, u32 pos_high); 342 compat_ulong_t vlen, u32 pos_low, u32 pos_high);
343
344#ifdef __ARCH_WANT_COMPAT_SYS_PREADV64
345asmlinkage long compat_sys_preadv64(unsigned long fd,
346 const struct compat_iovec __user *vec,
347 unsigned long vlen, loff_t pos);
348#endif
349
350#ifdef __ARCH_WANT_COMPAT_SYS_PWRITEV64
351asmlinkage long compat_sys_pwritev64(unsigned long fd,
352 const struct compat_iovec __user *vec,
353 unsigned long vlen, loff_t pos);
354#endif
355
343asmlinkage long compat_sys_lseek(unsigned int, compat_off_t, unsigned int); 356asmlinkage long compat_sys_lseek(unsigned int, compat_off_t, unsigned int);
344 357
345asmlinkage long compat_sys_execve(const char __user *filename, const compat_uptr_t __user *argv, 358asmlinkage long compat_sys_execve(const char __user *filename, const compat_uptr_t __user *argv,