Skip to content

Commit adfbe36

Browse files
committed
Merge tag 'asm-generic-fixes-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic
Pull asm-generic fixes from Arnd Bergmann: "These are some bugfixes for system call ABI issues I found while working on a cleanup series. None of these are urgent since these bugs have gone unnoticed for many years, but I think we probably want to backport them all to stable kernels, so it makes sense to have the fixes included as early as possible. One more fix addresses a compile-time warning in kallsyms that was uncovered by a patch I did to enable additional warnings in 6.10. I had mistakenly thought that this fix was already merged through the module tree, but as Geert pointed out it was still missing" * tag 'asm-generic-fixes-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: kallsyms: rework symbol lookup return codes linux/syscalls.h: add missing __user annotations syscalls: mmap(): use unsigned offset type consistently s390: remove native mmap2() syscall hexagon: fix fadvise64_64 calling conventions csky, hexagon: fix broken sys_sync_file_range sh: rework sync_file_range ABI powerpc: restore some missing spu syscalls parisc: use generic sys_fanotify_mark implementation parisc: use correct compat recv/recvfrom syscalls sparc: fix compat recv/recvfrom syscalls sparc: fix old compat_sys_select() syscalls: fix compat_sys_io_pgetevents_time64 usage ftruncate: pass a signed offset
2 parents 66e55ff + 7e1f4eb commit adfbe36

File tree

35 files changed

+116
-345
lines changed

35 files changed

+116
-345
lines changed

arch/arm64/include/asm/unistd32.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,7 @@ __SYSCALL(__NR_pselect6_time64, compat_sys_pselect6_time64)
840840
#define __NR_ppoll_time64 414
841841
__SYSCALL(__NR_ppoll_time64, compat_sys_ppoll_time64)
842842
#define __NR_io_pgetevents_time64 416
843-
__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
843+
__SYSCALL(__NR_io_pgetevents_time64, compat_sys_io_pgetevents_time64)
844844
#define __NR_recvmmsg_time64 417
845845
__SYSCALL(__NR_recvmmsg_time64, compat_sys_recvmmsg_time64)
846846
#define __NR_mq_timedsend_time64 418

arch/csky/include/uapi/asm/unistd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#define __ARCH_WANT_SYS_CLONE3
77
#define __ARCH_WANT_SET_GET_RLIMIT
88
#define __ARCH_WANT_TIME32_SYSCALLS
9+
#define __ARCH_WANT_SYNC_FILE_RANGE2
910
#include <asm-generic/unistd.h>
1011

1112
#define __NR_set_thread_area (__NR_arch_specific_syscall + 0)

arch/csky/kernel/syscall.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ SYSCALL_DEFINE6(mmap2,
2020
unsigned long, prot,
2121
unsigned long, flags,
2222
unsigned long, fd,
23-
off_t, offset)
23+
unsigned long, offset)
2424
{
2525
if (unlikely(offset & (~PAGE_MASK >> 12)))
2626
return -EINVAL;

arch/hexagon/include/asm/syscalls.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/* SPDX-License-Identifier: GPL-2.0 */
2+
3+
#include <asm-generic/syscalls.h>
4+
5+
asmlinkage long sys_hexagon_fadvise64_64(int fd, int advice,
6+
u32 a2, u32 a3, u32 a4, u32 a5);

arch/hexagon/include/uapi/asm/unistd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,6 @@
3636
#define __ARCH_WANT_SYS_VFORK
3737
#define __ARCH_WANT_SYS_FORK
3838
#define __ARCH_WANT_TIME32_SYSCALLS
39+
#define __ARCH_WANT_SYNC_FILE_RANGE2
3940

4041
#include <asm-generic/unistd.h>

arch/hexagon/kernel/syscalltab.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414
#undef __SYSCALL
1515
#define __SYSCALL(nr, call) [nr] = (call),
1616

17+
SYSCALL_DEFINE6(hexagon_fadvise64_64, int, fd, int, advice,
18+
SC_ARG64(offset), SC_ARG64(len))
19+
{
20+
return ksys_fadvise64_64(fd, SC_VAL64(loff_t, offset), SC_VAL64(loff_t, len), advice);
21+
}
22+
#define sys_fadvise64_64 sys_hexagon_fadvise64_64
23+
1724
void *sys_call_table[__NR_syscalls] = {
1825
#include <asm/unistd.h>
1926
};

arch/loongarch/kernel/syscall.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#define __SYSCALL(nr, call) [nr] = (call),
2323

2424
SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, unsigned long,
25-
prot, unsigned long, flags, unsigned long, fd, off_t, offset)
25+
prot, unsigned long, flags, unsigned long, fd, unsigned long, offset)
2626
{
2727
if (offset & ~PAGE_MASK)
2828
return -EINVAL;

arch/microblaze/kernel/sys_microblaze.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
3737
unsigned long, prot, unsigned long, flags, unsigned long, fd,
38-
off_t, pgoff)
38+
unsigned long, pgoff)
3939
{
4040
if (pgoff & ~PAGE_MASK)
4141
return -EINVAL;

arch/mips/kernel/syscalls/syscall_n32.tbl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@
354354
412 n32 utimensat_time64 sys_utimensat
355355
413 n32 pselect6_time64 compat_sys_pselect6_time64
356356
414 n32 ppoll_time64 compat_sys_ppoll_time64
357-
416 n32 io_pgetevents_time64 sys_io_pgetevents
357+
416 n32 io_pgetevents_time64 compat_sys_io_pgetevents_time64
358358
417 n32 recvmmsg_time64 compat_sys_recvmmsg_time64
359359
418 n32 mq_timedsend_time64 sys_mq_timedsend
360360
419 n32 mq_timedreceive_time64 sys_mq_timedreceive

arch/mips/kernel/syscalls/syscall_o32.tbl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@
403403
412 o32 utimensat_time64 sys_utimensat sys_utimensat
404404
413 o32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
405405
414 o32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
406-
416 o32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
406+
416 o32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
407407
417 o32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
408408
418 o32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
409409
419 o32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive

0 commit comments

Comments
 (0)