diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2012-03-26 16:26:12 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2012-03-27 13:36:57 -0400 |
commit | 1631fcea8399da5e80a80084b3b8c5bfd99d21e7 (patch) | |
tree | 97dbf61e224142068842d1ab5391e8c46a950bba | |
parent | 48b25c43e6eebb6c0edf72935e8720385beca76b (diff) | |
download | op-kernel-dev-1631fcea8399da5e80a80084b3b8c5bfd99d21e7.zip op-kernel-dev-1631fcea8399da5e80a80084b3b8c5bfd99d21e7.tar.gz |
compat: use sys_sendfile64() implementation for sendfile syscall
<asm-generic/unistd.h> was set up to use sys_sendfile() for the 32-bit
compat API instead of sys_sendfile64(), but in fact the right thing to
do is to use sys_sendfile64() in all cases. The 32-bit sendfile64() API
in glibc uses the sendfile64 syscall, so it has to be capable of doing
full 64-bit operations. But the sys_sendfile() kernel implementation
has a MAX_NON_LFS test in it which explicitly limits the offset to 2^32.
So, we need to use the sys_sendfile64() implementation in the kernel
for this case.
Cc: <stable@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
-rw-r--r-- | include/asm-generic/unistd.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h index 2292d1a..991ef01 100644 --- a/include/asm-generic/unistd.h +++ b/include/asm-generic/unistd.h @@ -218,7 +218,7 @@ __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev) /* fs/sendfile.c */ #define __NR3264_sendfile 71 -__SC_3264(__NR3264_sendfile, sys_sendfile64, sys_sendfile) +__SYSCALL(__NR3264_sendfile, sys_sendfile64) /* fs/select.c */ #define __NR_pselect6 72 |