summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2019-01-10 06:45:11 -0500
committerArnd Bergmann <arnd@arndb.de>2019-02-06 18:13:28 -0500
commit48166e6ea47d23984f0b481ca199250e1ce0730a (patch)
tree1af2bed895bab4bd048a389dd7d63c68e5d5a7c6
parentd33c577cccd0b3e5bb2425f85037f26714a59363 (diff)
y2038: add 64-bit time_t syscalls to all 32-bit architectures
This adds 21 new system calls on each ABI that has 32-bit time_t today. All of these have the exact same semantics as their existing counterparts, and the new ones all have macro names that end in 'time64' for clarification. This gets us to the point of being able to safely use a C library that has 64-bit time_t in user space. There are still a couple of loose ends to tie up in various areas of the code, but this is the big one, and should be entirely uncontroversial at this point. In particular, there are four system calls (getitimer, setitimer, waitid, and getrusage) that don't have a 64-bit counterpart yet, but these can all be safely implemented in the C library by wrapping around the existing system calls because the 32-bit time_t they pass only counts elapsed time, not time since the epoch. They will be dealt with later. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r--arch/alpha/kernel/syscalls/syscall.tbl2
-rw-r--r--arch/arm/tools/syscall.tbl21
-rw-r--r--arch/arm64/include/asm/unistd.h2
-rw-r--r--arch/arm64/include/asm/unistd32.h41
-rw-r--r--arch/ia64/kernel/syscalls/syscall.tbl1
-rw-r--r--arch/m68k/kernel/syscalls/syscall.tbl20
-rw-r--r--arch/microblaze/kernel/syscalls/syscall.tbl21
-rw-r--r--arch/mips/kernel/syscalls/syscall_n32.tbl21
-rw-r--r--arch/mips/kernel/syscalls/syscall_n64.tbl1
-rw-r--r--arch/mips/kernel/syscalls/syscall_o32.tbl20
-rw-r--r--arch/parisc/kernel/syscalls/syscall.tbl21
-rw-r--r--arch/powerpc/kernel/syscalls/syscall.tbl20
-rw-r--r--arch/s390/kernel/syscalls/syscall.tbl20
-rw-r--r--arch/sh/kernel/syscalls/syscall.tbl20
-rw-r--r--arch/sparc/kernel/syscalls/syscall.tbl20
-rw-r--r--arch/x86/entry/syscalls/syscall_32.tbl20
-rw-r--r--arch/xtensa/kernel/syscalls/syscall.tbl21
-rw-r--r--include/uapi/asm-generic/unistd.h44
-rwxr-xr-xscripts/checksyscalls.sh40
19 files changed, 374 insertions, 2 deletions
diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
index 340b88dd397e..63ed39cbd3bd 100644
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
@@ -461,3 +461,5 @@
461530 common getegid sys_getegid 461530 common getegid sys_getegid
462531 common geteuid sys_geteuid 462531 common geteuid sys_geteuid
463532 common getppid sys_getppid 463532 common getppid sys_getppid
464# all other architectures have common numbers for new syscall, alpha
465# is the exception.
diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl
index a96d9b5ee04e..9016f4081bb9 100644
--- a/arch/arm/tools/syscall.tbl
+++ b/arch/arm/tools/syscall.tbl
@@ -416,3 +416,24 @@
416399 common io_pgetevents sys_io_pgetevents_time32 416399 common io_pgetevents sys_io_pgetevents_time32
417400 common migrate_pages sys_migrate_pages 417400 common migrate_pages sys_migrate_pages
418401 common kexec_file_load sys_kexec_file_load 418401 common kexec_file_load sys_kexec_file_load
419# 402 is unused
420403 common clock_gettime64 sys_clock_gettime
421404 common clock_settime64 sys_clock_settime
422405 common clock_adjtime64 sys_clock_adjtime
423406 common clock_getres_time64 sys_clock_getres
424407 common clock_nanosleep_time64 sys_clock_nanosleep
425408 common timer_gettime64 sys_timer_gettime
426409 common timer_settime64 sys_timer_settime
427410 common timerfd_gettime64 sys_timerfd_gettime
428411 common timerfd_settime64 sys_timerfd_settime
429412 common utimensat_time64 sys_utimensat
430413 common pselect6_time64 sys_pselect6
431414 common ppoll_time64 sys_ppoll
432416 common io_pgetevents_time64 sys_io_pgetevents
433417 common recvmmsg_time64 sys_recvmmsg
434418 common mq_timedsend_time64 sys_mq_timedsend
435419 common mq_timedreceive_time64 sys_mq_timedreceive
436420 common semtimedop_time64 sys_semtimedop
437421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
438422 common futex_time64 sys_futex
439423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index 2c30e6f145ff..d1dd93436e1e 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -44,7 +44,7 @@
44#define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5) 44#define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5)
45#define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800) 45#define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800)
46 46
47#define __NR_compat_syscalls 402 47#define __NR_compat_syscalls 424
48#endif 48#endif
49 49
50#define __ARCH_WANT_SYS_CLONE 50#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
index 1ded82857161..5590f2623690 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -825,6 +825,47 @@ __SYSCALL(__NR_io_pgetevents, compat_sys_io_pgetevents)
825__SYSCALL(__NR_migrate_pages, compat_sys_migrate_pages) 825__SYSCALL(__NR_migrate_pages, compat_sys_migrate_pages)
826#define __NR_kexec_file_load 401 826#define __NR_kexec_file_load 401
827__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) 827__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load)
828/* 402 is unused */
829#define __NR_clock_gettime64 403
830__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
831#define __NR_clock_settime64 404
832__SYSCALL(__NR_clock_settime64, sys_clock_settime)
833#define __NR_clock_adjtime64 405
834__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
835#define __NR_clock_getres_time64 406
836__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
837#define __NR_clock_nanosleep_time64 407
838__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
839#define __NR_timer_gettime64 408
840__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
841#define __NR_timer_settime64 409
842__SYSCALL(__NR_timer_settime64, sys_timer_settime)
843#define __NR_timerfd_gettime64 410
844__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
845#define __NR_timerfd_settime64 411
846__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
847#define __NR_utimensat_time64 412
848__SYSCALL(__NR_utimensat_time64, sys_utimensat)
849#define __NR_pselect6_time64 413
850__SYSCALL(__NR_pselect6_time64, compat_sys_pselect6_time64)
851#define __NR_ppoll_time64 414
852__SYSCALL(__NR_ppoll_time64, compat_sys_ppoll_time64)
853#define __NR_io_pgetevents_time64 416
854__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
855#define __NR_recvmmsg_time64 417
856__SYSCALL(__NR_recvmmsg_time64, compat_sys_recvmmsg_time64)
857#define __NR_mq_timedsend_time64 418
858__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
859#define __NR_mq_timedreceive_time64 419
860__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
861#define __NR_semtimedop_time64 420
862__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
863#define __NR_rt_sigtimedwait_time64 421
864__SYSCALL(__NR_rt_sigtimedwait_time64, compat_sys_rt_sigtimedwait_time64)
865#define __NR_futex_time64 422
866__SYSCALL(__NR_futex_time64, sys_futex)
867#define __NR_sched_rr_get_interval_time64 423
868__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
828 869
829/* 870/*
830 * Please add new compat syscalls above this comment and update 871 * Please add new compat syscalls above this comment and update
diff --git a/arch/ia64/kernel/syscalls/syscall.tbl b/arch/ia64/kernel/syscalls/syscall.tbl
index 52319006de0d..ab9cda5f6136 100644
--- a/arch/ia64/kernel/syscalls/syscall.tbl
+++ b/arch/ia64/kernel/syscalls/syscall.tbl
@@ -343,3 +343,4 @@
343331 common pkey_alloc sys_pkey_alloc 343331 common pkey_alloc sys_pkey_alloc
344332 common pkey_free sys_pkey_free 344332 common pkey_free sys_pkey_free
345333 common rseq sys_rseq 345333 common rseq sys_rseq
346# 334 through 423 are reserved to sync up with other architectures
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 253bd2a069bd..125c14178979 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -403,3 +403,23 @@
403400 common msgsnd sys_msgsnd 403400 common msgsnd sys_msgsnd
404401 common msgrcv sys_msgrcv 404401 common msgrcv sys_msgrcv
405402 common msgctl sys_msgctl 405402 common msgctl sys_msgctl
406403 common clock_gettime64 sys_clock_gettime
407404 common clock_settime64 sys_clock_settime
408405 common clock_adjtime64 sys_clock_adjtime
409406 common clock_getres_time64 sys_clock_getres
410407 common clock_nanosleep_time64 sys_clock_nanosleep
411408 common timer_gettime64 sys_timer_gettime
412409 common timer_settime64 sys_timer_settime
413410 common timerfd_gettime64 sys_timerfd_gettime
414411 common timerfd_settime64 sys_timerfd_settime
415412 common utimensat_time64 sys_utimensat
416413 common pselect6_time64 sys_pselect6
417414 common ppoll_time64 sys_ppoll
418416 common io_pgetevents_time64 sys_io_pgetevents
419417 common recvmmsg_time64 sys_recvmmsg
420418 common mq_timedsend_time64 sys_mq_timedsend
421419 common mq_timedreceive_time64 sys_mq_timedreceive
422420 common semtimedop_time64 sys_semtimedop
423421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
424422 common futex_time64 sys_futex
425423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
diff --git a/arch/microblaze/kernel/syscalls/syscall.tbl b/arch/microblaze/kernel/syscalls/syscall.tbl
index 44a87649d681..8ee3a8c18498 100644
--- a/arch/microblaze/kernel/syscalls/syscall.tbl
+++ b/arch/microblaze/kernel/syscalls/syscall.tbl
@@ -408,3 +408,24 @@
408398 common statx sys_statx 408398 common statx sys_statx
409399 common io_pgetevents sys_io_pgetevents_time32 409399 common io_pgetevents sys_io_pgetevents_time32
410400 common rseq sys_rseq 410400 common rseq sys_rseq
411# 401 and 402 are unused
412403 common clock_gettime64 sys_clock_gettime
413404 common clock_settime64 sys_clock_settime
414405 common clock_adjtime64 sys_clock_adjtime
415406 common clock_getres_time64 sys_clock_getres
416407 common clock_nanosleep_time64 sys_clock_nanosleep
417408 common timer_gettime64 sys_timer_gettime
418409 common timer_settime64 sys_timer_settime
419410 common timerfd_gettime64 sys_timerfd_gettime
420411 common timerfd_settime64 sys_timerfd_settime
421412 common utimensat_time64 sys_utimensat
422413 common pselect6_time64 sys_pselect6
423414 common ppoll_time64 sys_ppoll
424416 common io_pgetevents_time64 sys_io_pgetevents
425417 common recvmmsg_time64 sys_recvmmsg
426418 common mq_timedsend_time64 sys_mq_timedsend
427419 common mq_timedreceive_time64 sys_mq_timedreceive
428420 common semtimedop_time64 sys_semtimedop
429421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
430422 common futex_time64 sys_futex
431423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
diff --git a/arch/mips/kernel/syscalls/syscall_n32.tbl b/arch/mips/kernel/syscalls/syscall_n32.tbl
index 6d1e019817c8..15f4117900ee 100644
--- a/arch/mips/kernel/syscalls/syscall_n32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n32.tbl
@@ -341,3 +341,24 @@
341330 n32 statx sys_statx 341330 n32 statx sys_statx
342331 n32 rseq sys_rseq 342331 n32 rseq sys_rseq
343332 n32 io_pgetevents compat_sys_io_pgetevents 343332 n32 io_pgetevents compat_sys_io_pgetevents
344# 333 through 402 are unassigned to sync up with generic numbers
345403 n32 clock_gettime64 sys_clock_gettime
346404 n32 clock_settime64 sys_clock_settime
347405 n32 clock_adjtime64 sys_clock_adjtime
348406 n32 clock_getres_time64 sys_clock_getres
349407 n32 clock_nanosleep_time64 sys_clock_nanosleep
350408 n32 timer_gettime64 sys_timer_gettime
351409 n32 timer_settime64 sys_timer_settime
352410 n32 timerfd_gettime64 sys_timerfd_gettime
353411 n32 timerfd_settime64 sys_timerfd_settime
354412 n32 utimensat_time64 sys_utimensat
355413 n32 pselect6_time64 compat_sys_pselect6_time64
356414 n32 ppoll_time64 compat_sys_ppoll_time64
357416 n32 io_pgetevents_time64 sys_io_pgetevents
358417 n32 recvmmsg_time64 compat_sys_recvmmsg_time64
359418 n32 mq_timedsend_time64 sys_mq_timedsend
360419 n32 mq_timedreceive_time64 sys_mq_timedreceive
361420 n32 semtimedop_time64 sys_semtimedop
362421 n32 rt_sigtimedwait_time64 compat_sys_rt_sigtimedwait_time64
363422 n32 futex_time64 sys_futex
364423 n32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
diff --git a/arch/mips/kernel/syscalls/syscall_n64.tbl b/arch/mips/kernel/syscalls/syscall_n64.tbl
index af0da757a7b2..c85502e67b44 100644
--- a/arch/mips/kernel/syscalls/syscall_n64.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n64.tbl
@@ -337,3 +337,4 @@
337326 n64 statx sys_statx 337326 n64 statx sys_statx
338327 n64 rseq sys_rseq 338327 n64 rseq sys_rseq
339328 n64 io_pgetevents sys_io_pgetevents 339328 n64 io_pgetevents sys_io_pgetevents
340# 329 through 423 are reserved to sync up with other architectures
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 54312c5b5343..2e063d0f837e 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -391,3 +391,23 @@
391400 o32 msgsnd sys_msgsnd compat_sys_msgsnd 391400 o32 msgsnd sys_msgsnd compat_sys_msgsnd
392401 o32 msgrcv sys_msgrcv compat_sys_msgrcv 392401 o32 msgrcv sys_msgrcv compat_sys_msgrcv
393402 o32 msgctl sys_msgctl compat_sys_msgctl 393402 o32 msgctl sys_msgctl compat_sys_msgctl
394403 o32 clock_gettime64 sys_clock_gettime sys_clock_gettime
395404 o32 clock_settime64 sys_clock_settime sys_clock_settime
396405 o32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime
397406 o32 clock_getres_time64 sys_clock_getres sys_clock_getres
398407 o32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep
399408 o32 timer_gettime64 sys_timer_gettime sys_timer_gettime
400409 o32 timer_settime64 sys_timer_settime sys_timer_settime
401410 o32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime
402411 o32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime
403412 o32 utimensat_time64 sys_utimensat sys_utimensat
404413 o32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
405414 o32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
406416 o32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
407417 o32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
408418 o32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
409419 o32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
410420 o32 semtimedop_time64 sys_semtimedop sys_semtimedop
411421 o32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
412422 o32 futex_time64 sys_futex sys_futex
413423 o32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl
index 7eff3dc3d613..b26766c6647d 100644
--- a/arch/parisc/kernel/syscalls/syscall.tbl
+++ b/arch/parisc/kernel/syscalls/syscall.tbl
@@ -399,3 +399,24 @@
399352 common pkey_alloc sys_pkey_alloc 399352 common pkey_alloc sys_pkey_alloc
400353 common pkey_free sys_pkey_free 400353 common pkey_free sys_pkey_free
401354 common rseq sys_rseq 401354 common rseq sys_rseq
402# 355 through 402 are unassigned to sync up with generic numbers
403403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime
404404 32 clock_settime64 sys_clock_settime sys_clock_settime
405405 32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime
406406 32 clock_getres_time64 sys_clock_getres sys_clock_getres
407407 32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep
408408 32 timer_gettime64 sys_timer_gettime sys_timer_gettime
409409 32 timer_settime64 sys_timer_settime sys_timer_settime
410410 32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime
411411 32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime
412412 32 utimensat_time64 sys_utimensat sys_utimensat
413413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
414414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
415416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
416417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
417418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
418419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
419420 32 semtimedop_time64 sys_semtimedop sys_semtimedop
420421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
421422 32 futex_time64 sys_futex sys_futex
422423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index 500edbf9e8a6..b18abb0c3dae 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -485,3 +485,23 @@
485400 common msgsnd sys_msgsnd compat_sys_msgsnd 485400 common msgsnd sys_msgsnd compat_sys_msgsnd
486401 common msgrcv sys_msgrcv compat_sys_msgrcv 486401 common msgrcv sys_msgrcv compat_sys_msgrcv
487402 common msgctl sys_msgctl compat_sys_msgctl 487402 common msgctl sys_msgctl compat_sys_msgctl
488403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime
489404 32 clock_settime64 sys_clock_settime sys_clock_settime
490405 32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime
491406 32 clock_getres_time64 sys_clock_getres sys_clock_getres
492407 32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep
493408 32 timer_gettime64 sys_timer_gettime sys_timer_gettime
494409 32 timer_settime64 sys_timer_settime sys_timer_settime
495410 32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime
496411 32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime
497412 32 utimensat_time64 sys_utimensat sys_utimensat
498413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
499414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
500416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
501417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
502418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
503419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
504420 32 semtimedop_time64 sys_semtimedop sys_semtimedop
505421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
506422 32 futex_time64 sys_futex sys_futex
507423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 285201cf1f83..02579f95f391 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -406,3 +406,23 @@
406400 common msgsnd sys_msgsnd compat_sys_msgsnd 406400 common msgsnd sys_msgsnd compat_sys_msgsnd
407401 common msgrcv sys_msgrcv compat_sys_msgrcv 407401 common msgrcv sys_msgrcv compat_sys_msgrcv
408402 common msgctl sys_msgctl compat_sys_msgctl 408402 common msgctl sys_msgctl compat_sys_msgctl
409403 32 clock_gettime64 - sys_clock_gettime
410404 32 clock_settime64 - sys_clock_settime
411405 32 clock_adjtime64 - sys_clock_adjtime
412406 32 clock_getres_time64 - sys_clock_getres
413407 32 clock_nanosleep_time64 - sys_clock_nanosleep
414408 32 timer_gettime64 - sys_timer_gettime
415409 32 timer_settime64 - sys_timer_settime
416410 32 timerfd_gettime64 - sys_timerfd_gettime
417411 32 timerfd_settime64 - sys_timerfd_settime
418412 32 utimensat_time64 - sys_utimensat
419413 32 pselect6_time64 - compat_sys_pselect6_time64
420414 32 ppoll_time64 - compat_sys_ppoll_time64
421416 32 io_pgetevents_time64 - sys_io_pgetevents
422417 32 recvmmsg_time64 - compat_sys_recvmmsg_time64
423418 32 mq_timedsend_time64 - sys_mq_timedsend
424419 32 mq_timedreceive_time64 - sys_mq_timedreceive
425420 32 semtimedop_time64 - sys_semtimedop
426421 32 rt_sigtimedwait_time64 - compat_sys_rt_sigtimedwait_time64
427422 32 futex_time64 - sys_futex
428423 32 sched_rr_get_interval_time64 - sys_sched_rr_get_interval
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index 06d768c3cc4c..bfda678576e4 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -406,3 +406,23 @@
406400 common msgsnd sys_msgsnd 406400 common msgsnd sys_msgsnd
407401 common msgrcv sys_msgrcv 407401 common msgrcv sys_msgrcv
408402 common msgctl sys_msgctl 408402 common msgctl sys_msgctl
409403 common clock_gettime64 sys_clock_gettime
410404 common clock_settime64 sys_clock_settime
411405 common clock_adjtime64 sys_clock_adjtime
412406 common clock_getres_time64 sys_clock_getres
413407 common clock_nanosleep_time64 sys_clock_nanosleep
414408 common timer_gettime64 sys_timer_gettime
415409 common timer_settime64 sys_timer_settime
416410 common timerfd_gettime64 sys_timerfd_gettime
417411 common timerfd_settime64 sys_timerfd_settime
418412 common utimensat_time64 sys_utimensat
419413 common pselect6_time64 sys_pselect6
420414 common ppoll_time64 sys_ppoll
421416 common io_pgetevents_time64 sys_io_pgetevents
422417 common recvmmsg_time64 sys_recvmmsg
423418 common mq_timedsend_time64 sys_mq_timedsend
424419 common mq_timedreceive_time64 sys_mq_timedreceive
425420 common semtimedop_time64 sys_semtimedop
426421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
427422 common futex_time64 sys_futex
428423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index 99c40abd8878..b9a5a04b2d2c 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -449,3 +449,23 @@
449400 common msgsnd sys_msgsnd compat_sys_msgsnd 449400 common msgsnd sys_msgsnd compat_sys_msgsnd
450401 common msgrcv sys_msgrcv compat_sys_msgrcv 450401 common msgrcv sys_msgrcv compat_sys_msgrcv
451402 common msgctl sys_msgctl compat_sys_msgctl 451402 common msgctl sys_msgctl compat_sys_msgctl
452403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime
453404 32 clock_settime64 sys_clock_settime sys_clock_settime
454405 32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime
455406 32 clock_getres_time64 sys_clock_getres sys_clock_getres
456407 32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep
457408 32 timer_gettime64 sys_timer_gettime sys_timer_gettime
458409 32 timer_settime64 sys_timer_settime sys_timer_settime
459410 32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime
460411 32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime
461412 32 utimensat_time64 sys_utimensat sys_utimensat
462413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
463414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
464416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
465417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
466418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
467419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive
468420 32 semtimedop_time64 sys_semtimedop sys_semtimedop
469421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
470422 32 futex_time64 sys_futex sys_futex
471423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 8c47c1191a53..955ab6a3b61f 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -409,3 +409,23 @@
409400 i386 msgsnd sys_msgsnd __ia32_compat_sys_msgsnd 409400 i386 msgsnd sys_msgsnd __ia32_compat_sys_msgsnd
410401 i386 msgrcv sys_msgrcv __ia32_compat_sys_msgrcv 410401 i386 msgrcv sys_msgrcv __ia32_compat_sys_msgrcv
411402 i386 msgctl sys_msgctl __ia32_compat_sys_msgctl 411402 i386 msgctl sys_msgctl __ia32_compat_sys_msgctl
412403 i386 clock_gettime64 sys_clock_gettime __ia32_sys_clock_gettime
413404 i386 clock_settime64 sys_clock_settime __ia32_sys_clock_settime
414405 i386 clock_adjtime64 sys_clock_adjtime __ia32_sys_clock_adjtime
415406 i386 clock_getres_time64 sys_clock_getres __ia32_sys_clock_getres
416407 i386 clock_nanosleep_time64 sys_clock_nanosleep __ia32_sys_clock_nanosleep
417408 i386 timer_gettime64 sys_timer_gettime __ia32_sys_timer_gettime
418409 i386 timer_settime64 sys_timer_settime __ia32_sys_timer_settime
419410 i386 timerfd_gettime64 sys_timerfd_gettime __ia32_sys_timerfd_gettime
420411 i386 timerfd_settime64 sys_timerfd_settime __ia32_sys_timerfd_settime
421412 i386 utimensat_time64 sys_utimensat __ia32_sys_utimensat
422413 i386 pselect6_time64 sys_pselect6 __ia32_compat_sys_pselect6_time64
423414 i386 ppoll_time64 sys_ppoll __ia32_compat_sys_ppoll_time64
424416 i386 io_pgetevents_time64 sys_io_pgetevents __ia32_sys_io_pgetevents
425417 i386 recvmmsg_time64 sys_recvmmsg __ia32_compat_sys_recvmmsg_time64
426418 i386 mq_timedsend_time64 sys_mq_timedsend __ia32_sys_mq_timedsend
427419 i386 mq_timedreceive_time64 sys_mq_timedreceive __ia32_sys_mq_timedreceive
428420 i386 semtimedop_time64 sys_semtimedop __ia32_sys_semtimedop
429421 i386 rt_sigtimedwait_time64 sys_rt_sigtimedwait __ia32_compat_sys_rt_sigtimedwait_time64
430422 i386 futex_time64 sys_futex __ia32_sys_futex
431423 i386 sched_rr_get_interval_time64 sys_sched_rr_get_interval __ia32_sys_sched_rr_get_interval
diff --git a/arch/xtensa/kernel/syscalls/syscall.tbl b/arch/xtensa/kernel/syscalls/syscall.tbl
index 482673389e21..6af49929de85 100644
--- a/arch/xtensa/kernel/syscalls/syscall.tbl
+++ b/arch/xtensa/kernel/syscalls/syscall.tbl
@@ -373,3 +373,24 @@
373350 common pkey_free sys_pkey_free 373350 common pkey_free sys_pkey_free
374351 common statx sys_statx 374351 common statx sys_statx
375352 common rseq sys_rseq 375352 common rseq sys_rseq
376# 353 through 402 are unassigned to sync up with generic numbers
377403 common clock_gettime64 sys_clock_gettime
378404 common clock_settime64 sys_clock_settime
379405 common clock_adjtime64 sys_clock_adjtime
380406 common clock_getres_time64 sys_clock_getres
381407 common clock_nanosleep_time64 sys_clock_nanosleep
382408 common timer_gettime64 sys_timer_gettime
383409 common timer_settime64 sys_timer_settime
384410 common timerfd_gettime64 sys_timerfd_gettime
385411 common timerfd_settime64 sys_timerfd_settime
386412 common utimensat_time64 sys_utimensat
387413 common pselect6_time64 sys_pselect6
388414 common ppoll_time64 sys_ppoll
389416 common io_pgetevents_time64 sys_io_pgetevents
390417 common recvmmsg_time64 sys_recvmmsg
391418 common mq_timedsend_time64 sys_mq_timedsend
392419 common mq_timedreceive_time64 sys_mq_timedreceive
393420 common semtimedop_time64 sys_semtimedop
394421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
395422 common futex_time64 sys_futex
396423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
index ab1831769030..acf9a07ab2ff 100644
--- a/include/uapi/asm-generic/unistd.h
+++ b/include/uapi/asm-generic/unistd.h
@@ -741,9 +741,51 @@ __SYSCALL(__NR_rseq, sys_rseq)
741#define __NR_kexec_file_load 294 741#define __NR_kexec_file_load 294
742__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) 742__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load)
743/* 295 through 402 are unassigned to sync up with generic numbers, don't use */ 743/* 295 through 402 are unassigned to sync up with generic numbers, don't use */
744#if __BITS_PER_LONG == 32
745#define __NR_clock_gettime64 403
746__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
747#define __NR_clock_settime64 404
748__SYSCALL(__NR_clock_settime64, sys_clock_settime)
749#define __NR_clock_adjtime64 405
750__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
751#define __NR_clock_getres_time64 406
752__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
753#define __NR_clock_nanosleep_time64 407
754__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
755#define __NR_timer_gettime64 408
756__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
757#define __NR_timer_settime64 409
758__SYSCALL(__NR_timer_settime64, sys_timer_settime)
759#define __NR_timerfd_gettime64 410
760__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
761#define __NR_timerfd_settime64 411
762__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
763#define __NR_utimensat_time64 412
764__SYSCALL(__NR_utimensat_time64, sys_utimensat)
765#define __NR_pselect6_time64 413
766__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64)
767#define __NR_ppoll_time64 414
768__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64)
769#define __NR_io_pgetevents_time64 416
770__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
771#define __NR_recvmmsg_time64 417
772__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64)
773#define __NR_mq_timedsend_time64 418
774__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
775#define __NR_mq_timedreceive_time64 419
776__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
777#define __NR_semtimedop_time64 420
778__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
779#define __NR_rt_sigtimedwait_time64 421
780__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64)
781#define __NR_futex_time64 422
782__SYSCALL(__NR_futex_time64, sys_futex)
783#define __NR_sched_rr_get_interval_time64 423
784__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
785#endif
744 786
745#undef __NR_syscalls 787#undef __NR_syscalls
746#define __NR_syscalls 295 788#define __NR_syscalls 424
747 789
748/* 790/*
749 * 32 bit systems traditionally used different 791 * 32 bit systems traditionally used different
diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh
index cf931003395f..cc70a64fa81f 100755
--- a/scripts/checksyscalls.sh
+++ b/scripts/checksyscalls.sh
@@ -84,6 +84,26 @@ cat << EOF
84#define __IGNORE_statfs64 84#define __IGNORE_statfs64
85#define __IGNORE_llseek 85#define __IGNORE_llseek
86#define __IGNORE_mmap2 86#define __IGNORE_mmap2
87#define __IGNORE_clock_gettime64
88#define __IGNORE_clock_settime64
89#define __IGNORE_clock_adjtime64
90#define __IGNORE_clock_getres_time64
91#define __IGNORE_clock_nanosleep_time64
92#define __IGNORE_timer_gettime64
93#define __IGNORE_timer_settime64
94#define __IGNORE_timerfd_gettime64
95#define __IGNORE_timerfd_settime64
96#define __IGNORE_utimensat_time64
97#define __IGNORE_pselect6_time64
98#define __IGNORE_ppoll_time64
99#define __IGNORE_io_pgetevents_time64
100#define __IGNORE_recvmmsg_time64
101#define __IGNORE_mq_timedsend_time64
102#define __IGNORE_mq_timedreceive_time64
103#define __IGNORE_semtimedop_time64
104#define __IGNORE_rt_sigtimedwait_time64
105#define __IGNORE_futex_time64
106#define __IGNORE_sched_rr_get_interval_time64
87#else 107#else
88#define __IGNORE_sendfile 108#define __IGNORE_sendfile
89#define __IGNORE_ftruncate 109#define __IGNORE_ftruncate
@@ -98,6 +118,26 @@ cat << EOF
98#define __IGNORE_statfs 118#define __IGNORE_statfs
99#define __IGNORE_lseek 119#define __IGNORE_lseek
100#define __IGNORE_mmap 120#define __IGNORE_mmap
121#define __IGNORE_clock_gettime
122#define __IGNORE_clock_settime
123#define __IGNORE_clock_adjtime
124#define __IGNORE_clock_getres
125#define __IGNORE_clock_nanosleep
126#define __IGNORE_timer_gettime
127#define __IGNORE_timer_settime
128#define __IGNORE_timerfd_gettime
129#define __IGNORE_timerfd_settime
130#define __IGNORE_utimensat
131#define __IGNORE_pselect6
132#define __IGNORE_ppoll
133#define __IGNORE_io_pgetevents
134#define __IGNORE_recvmmsg
135#define __IGNORE_mq_timedsend
136#define __IGNORE_mq_timedreceiv
137#define __IGNORE_semtimedop
138#define __IGNORE_rt_sigtimedwait
139#define __IGNORE_futex
140#define __IGNORE_sched_rr_get_interval
101#endif 141#endif
102 142
103/* i386-specific or historical system calls */ 143/* i386-specific or historical system calls */