]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit - fs/compat_ioctl.c
fs/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter types
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 4 Mar 2014 15:07:52 +0000 (16:07 +0100)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 6 Mar 2014 15:30:44 +0000 (16:30 +0100)
commit932602e238329da99f8482c1b721549531fbfe7f
treee32b5562a688ad853783adc1c8c14475be00c681
parent5d70a59637911e84687b421afeb4c111a579fb2b
fs/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter types

Some fs compat system calls have unsigned long parameters instead of
compat_ulong_t.
In order to allow the COMPAT_SYSCALL_DEFINE macro generate code that
performs proper zero and sign extension convert all 64 bit parameters
their corresponding 32 bit counterparts.

compat_sys_io_getevents() is a bit different: the non-compat version
has signed parameters for the "min_nr" and "nr" parameters while the
compat version has unsigned parameters.
So change this as well. For all practical purposes this shouldn't make
any difference (doesn't fix a real bug).
Also introduce a generic compat_aio_context_t type which can be used
everywhere.
The access_ok() check within compat_sys_io_getevents() got also removed
since the non-compat sys_io_getevents() should be able to handle
everything anyway.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/include/asm/compat.h
fs/compat.c
fs/compat_ioctl.c
include/linux/compat.h