aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2012-03-26 16:26:12 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-02 09:53:09 -0700
commitacff5ccd7dfccb0c28f367a2a684a7e8e3ee0112 (patch)
treeac7f1098635de7e7c0f9abd3e2e91c6e20f47995 /include/asm-generic
parentd88f3015285a3845d7330452865f763f16bda726 (diff)
downloadkernel_samsung_smdk4412-acff5ccd7dfccb0c28f367a2a684a7e8e3ee0112.zip
kernel_samsung_smdk4412-acff5ccd7dfccb0c28f367a2a684a7e8e3ee0112.tar.gz
kernel_samsung_smdk4412-acff5ccd7dfccb0c28f367a2a684a7e8e3ee0112.tar.bz2
compat: use sys_sendfile64() implementation for sendfile syscall
commit 1631fcea8399da5e80a80084b3b8c5bfd99d21e7 upstream. <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. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/unistd.h2
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