diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2024-06-20 14:16:37 +0200 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2024-06-25 15:57:20 +0200 |
| commit | d3882564a77c21eb746ba5364f3fa89b88de3d61 (patch) | |
| tree | d926367d8365f33da81825335e2211aac99af50b /arch/mips/kernel/syscalls/syscall_n32.tbl | |
| parent | 4b8e88e563b5f666446d002ad0dc1e6e8e7102b0 (diff) | |
| download | linux-d3882564a77c21eb746ba5364f3fa89b88de3d61.tar.gz linux-d3882564a77c21eb746ba5364f3fa89b88de3d61.tar.bz2 linux-d3882564a77c21eb746ba5364f3fa89b88de3d61.zip | |
syscalls: fix compat_sys_io_pgetevents_time64 usage
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 6431e92fc827 ("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: 48166e6ea47d ("y2038: add 64-bit time_t syscalls to all 32-bit architectures")
Acked-by: Heiko Carstens <hca@linux.ibm.com> # s390
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/mips/kernel/syscalls/syscall_n32.tbl')
| -rw-r--r-- | arch/mips/kernel/syscalls/syscall_n32.tbl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/syscalls/syscall_n32.tbl b/arch/mips/kernel/syscalls/syscall_n32.tbl index cc869f5d5693..953f5b7dc723 100644 --- a/arch/mips/kernel/syscalls/syscall_n32.tbl +++ b/arch/mips/kernel/syscalls/syscall_n32.tbl @@ -354,7 +354,7 @@ 412 n32 utimensat_time64 sys_utimensat 413 n32 pselect6_time64 compat_sys_pselect6_time64 414 n32 ppoll_time64 compat_sys_ppoll_time64 -416 n32 io_pgetevents_time64 sys_io_pgetevents +416 n32 io_pgetevents_time64 compat_sys_io_pgetevents_time64 417 n32 recvmmsg_time64 compat_sys_recvmmsg_time64 418 n32 mq_timedsend_time64 sys_mq_timedsend 419 n32 mq_timedreceive_time64 sys_mq_timedreceive |
