tile: work around bug in the generic sys_llseek
authorChris Metcalf <cmetcalf@tilera.com>
Mon, 4 Mar 2013 16:19:09 +0000 (11:19 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Mar 2013 18:26:25 +0000 (11:26 -0700)
commit04825f04ac5042a966865ecc8fd6359fe59fa883
tree330b9c3b5f3310f9a32740724be6d651a1fdf756
parent6474cd4cf32ac9edf960903db0f7b9955618ae4a
tile: work around bug in the generic sys_llseek

commit 5a114b98661e3aaa0ac085eb931584dce3b0ef9b upstream.

sys_llseek should specify the high and low 32-bit seek values as "unsigned
int" but instead it specifies "unsigned long".  Since compat syscall
arguments are always sign-extended on tile, this means that a seek value
of 0xffffffff will be incorrectly interpreted as a value of -1ULL.

To avoid the risk of breaking binary compatibility on architectures
that already use sys_llseek this way, we follow the same path as MIPS
and provide a wrapper override.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/tile/include/asm/compat.h
arch/tile/kernel/compat.c