• Arnd Bergmann's avatar
    syscalls: fix compat_sys_io_pgetevents_time64 usage · d3882564
    Arnd Bergmann authored
    Using sys_io_pgetevents() as the entry point for compat mode tasks
    works almost correctly, but misses the sign extension for the min_nr
    and nr arguments.
    
    This was addressed on parisc by switching to
    compat_sys_io_pgetevents_time64() in commit 6431e92f ("parisc:
    io_pgetevents_time64() needs compat syscall in 32-bit compat mode"),
    as well as by using more sophisticated system call wrappers on x86 and
    s390. However, arm64, mips, powerpc, sparc and riscv still have the
    same bug.
    
    Change all of them over to use compat_sys_io_pgetevents_time64()
    like parisc already does. This was clearly the intention when the
    function was originally added, but it got hooked up incorrectly in
    the tables.
    
    Cc: stable@vger.kernel.org
    Fixes: 48166e6e ("y2038: add 64-bit time_t syscalls to all 32-bit architectures")
    Acked-by: Heiko Carstens <hca@linux.ibm.com> # s390
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    d3882564
syscall_n32.tbl 14.3 KB