]> git.karo-electronics.de Git - karo-tx-linux.git/commit
compat: fs: Generic compat_sys_sendfile implementation
authorCatalin Marinas <catalin.marinas@arm.com>
Wed, 19 Sep 2012 11:01:52 +0000 (12:01 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Sep 2012 05:34:25 +0000 (01:34 -0400)
commit8dcdbb8dff0d96f5ac5bbfe7f3094db45dba20a2
tree44d618a21b60c5a268088bfae6c78c591f1e4334
parent92cbfc956127e618c5703c0e8f841779f540f164
compat: fs: Generic compat_sys_sendfile implementation

This function is used by sparc, powerpc and arm64 for compat support.
The patch adds a generic implementation which calls do_sendfile()
directly and avoids set_fs().

The sparc architecture has wrappers for the sign extensions while
powerpc relies on the compiler to do the this. The patch adds wrappers
for powerpc to handle the u32->int type conversion.

compat_sys_sendfile64() can be replaced by a sys_sendfile() call since
compat_loff_t has the same size as off_t on a 64-bit system.

On powerpc, the patch also changes the 64-bit sendfile call from
sys_sendile64 to sys_sendfile.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/powerpc/include/asm/systbl.h
arch/powerpc/include/asm/unistd.h
arch/powerpc/kernel/sys_ppc32.c
arch/sparc/include/asm/unistd.h
arch/sparc/kernel/sys32.S
arch/sparc/kernel/sys_sparc32.c
fs/compat.c
fs/read_write.c
fs/read_write.h
include/linux/compat.h