• Heiko Carstens's avatar
    fs/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter types · 932602e2
    Heiko Carstens authored
    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: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    932602e2
compat.c 36.7 KB