Skip to content
Commit 1535bd8a authored by Dave Kleikamp's avatar Dave Kleikamp Committed by David S. Miller
Browse files

sparc64: don't treat 64-bit syscall return codes as 32-bit



When checking a system call return code for an error,
linux_sparc_syscall was sign-extending the lower 32-bit value and
comparing it to -ERESTART_RESTARTBLOCK. lseek can return valid return
codes whose lower 32-bits alone would indicate a failure (such as 4G-1).
Use the whole 64-bit value to check for errors. Only the 32-bit path
should sign extend the lower 32-bit value.

Signed-off-by: default avatarDave Kleikamp <dave.kleikamp@oracle.com>
Acked-by: default avatarBob Picco <bob.picco@oracle.com>
Acked-by: default avatarAllen Pais <allen.pais@oracle.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: sparclinux@vger.kernel.org
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e58e241c
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment