These are a couple of bug fixes which affect all architectures where the ABI
requires that the calling function performs sign and/or zero extension to
full 64 bit of all 32 bit parameters.

These bugs where introduced with the COMPAT_SYSCALL_DEFINE conversion of a
couple of compat syscalls.

Note1: I looked through all COMPAT_SYSCALL_DEFINE usages in the kernel and it
       looks like these were the only broken ones.

Note2: I left the preadv64/pwrite64 compat syscalls alone since only x86 uses
       these. *If* I got it right, then these are special, since these are only
       to be used by the new x86 32 bit ABI which actually uses 64 bit
       registers and therefore passes 64 bit values to the kernel. (?)

Heiko Carstens (3):
  fs/compat: fix parameter handling for compat readv/writev syscalls
  fs/compat: fix lookup_dcookie() parameter handling
  s390/compat: change parameter types from unsigned long to compat_ulong_t

 arch/s390/kernel/compat_linux.c |  4 ++--
 fs/dcookies.c                   |  2 +-
 fs/read_write.c                 | 16 ++++++++--------
 include/linux/compat.h          | 18 +++++++++---------
 4 files changed, 20 insertions(+), 20 deletions(-)

-- 
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to