Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull year 2038 updates from Thomas Gleixner:
"Another round of changes to make the kernel ready for 2038. After lots
of preparatory work this is the first set of syscalls which are 2038
safe:

403 clock_gettime64
404 clock_settime64
405 clock_adjtime64
406 clock_getres_time64
407 clock_nanosleep_time64
408 timer_gettime64
409 timer_settime64
410 timerfd_gettime64
411 timerfd_settime64
412 utimensat_time64
413 pselect6_time64
414 ppoll_time64
416 io_pgetevents_time64
417 recvmmsg_time64
418 mq_timedsend_time64
419 mq_timedreceiv_time64
420 semtimedop_time64
421 rt_sigtimedwait_time64
422 futex_time64
423 sched_rr_get_interval_time64

The syscall numbers are identical all over the architectures"

* 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
riscv: Use latest system call ABI
checksyscalls: fix up mq_timedreceive and stat exceptions
unicore32: Fix __ARCH_WANT_STAT64 definition
asm-generic: Make time32 syscall numbers optional
asm-generic: Drop getrlimit and setrlimit syscalls from default list
32-bit userspace ABI: introduce ARCH_32BIT_OFF_T config option
compat ABI: use non-compat openat and open_by_handle_at variants
y2038: add 64-bit time_t syscalls to all 32-bit architectures
y2038: rename old time and utime syscalls
y2038: remove struct definition redirects
y2038: use time32 syscall names on 32-bit
syscalls: remove obsolete __IGNORE_ macros
y2038: syscalls: rename y2038 compat syscalls
x86/x32: use time64 versions of sigtimedwait and recvmmsg
timex: change syscalls to use struct __kernel_timex
timex: use __kernel_timex internally
sparc64: add custom adjtimex/clock_adjtime functions
time: fix sys_timer_settime prototype
time: Add struct __kernel_timex
time: make adjtime compat handling available for 32 bit
...

+1656 -1265
+11 -1
arch/Kconfig
··· 276 276 config ARCH_WANTS_DYNAMIC_TASK_STRUCT 277 277 bool 278 278 279 + config ARCH_32BIT_OFF_T 280 + bool 281 + depends on !64BIT 282 + help 283 + All new 32-bit architectures should have 64-bit off_t type on 284 + userspace side which corresponds to the loff_t kernel type. This 285 + is the requirement for modern ABIs. Some existing architectures 286 + still support 32-bit off_t. This option is enabled for all such 287 + architectures explicitly. 288 + 279 289 config HAVE_REGS_AND_STACK_ACCESS_API 280 290 bool 281 291 help ··· 769 759 handling. 770 760 771 761 config COMPAT_32BIT_TIME 772 - def_bool (!64BIT && 64BIT_TIME) || COMPAT 762 + def_bool !64BIT || COMPAT 773 763 help 774 764 This enables 32 bit time_t support in addition to 64 bit time_t support. 775 765 This is relevant on all 32-bit architectures, and 64-bit architectures
-21
arch/alpha/include/asm/unistd.h
··· 19 19 #define __ARCH_WANT_SYS_VFORK 20 20 #define __ARCH_WANT_SYS_CLONE 21 21 22 - /* 23 - * Ignore legacy syscalls that we don't use. 24 - */ 25 - #define __IGNORE_alarm 26 - #define __IGNORE_creat 27 - #define __IGNORE_getegid 28 - #define __IGNORE_geteuid 29 - #define __IGNORE_getgid 30 - #define __IGNORE_getpid 31 - #define __IGNORE_getppid 32 - #define __IGNORE_getuid 33 - #define __IGNORE_pause 34 - #define __IGNORE_time 35 - #define __IGNORE_utime 36 - #define __IGNORE_umount2 37 - 38 - /* Alpha doesn't have protection keys. */ 39 - #define __IGNORE_pkey_mprotect 40 - #define __IGNORE_pkey_alloc 41 - #define __IGNORE_pkey_free 42 - 43 22 #endif /* _ALPHA_UNISTD_H */
+10
arch/alpha/include/uapi/asm/unistd.h
··· 2 2 #ifndef _UAPI_ALPHA_UNISTD_H 3 3 #define _UAPI_ALPHA_UNISTD_H 4 4 5 + /* These are traditionally the names linux-alpha uses for 6 + * the two otherwise generic system calls */ 7 + #define __NR_umount __NR_umount2 8 + #define __NR_osf_shmat __NR_shmat 9 + 10 + /* These return an extra value but can be used as aliases */ 11 + #define __NR_getpid __NR_getxpid 12 + #define __NR_getuid __NR_getxuid 13 + #define __NR_getgid __NR_getxgid 14 + 5 15 #include <asm/unistd_32.h> 6 16 7 17 #endif /* _UAPI_ALPHA_UNISTD_H */
+3 -2
arch/alpha/kernel/osf_sys.c
··· 1253 1253 1254 1254 SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p) 1255 1255 { 1256 - struct timex txc; 1256 + struct __kernel_timex txc; 1257 1257 int ret; 1258 1258 1259 1259 /* copy relevant bits of struct timex. */ ··· 1270 1270 if (copy_to_user(txc_p, &txc, offsetof(struct timex32, time)) || 1271 1271 (copy_to_user(&txc_p->tick, &txc.tick, sizeof(struct timex32) - 1272 1272 offsetof(struct timex32, tick))) || 1273 - (put_tv_to_tv32(&txc_p->time, &txc.time))) 1273 + (put_user(txc.time.tv_sec, &txc_p->time.tv_sec)) || 1274 + (put_user(txc.time.tv_usec, &txc_p->time.tv_usec))) 1274 1275 return -EFAULT; 1275 1276 1276 1277 return ret;
+17 -5
arch/alpha/kernel/syscalls/syscall.tbl
··· 29 29 19 common lseek sys_lseek 30 30 20 common getxpid sys_getxpid 31 31 21 common osf_mount sys_osf_mount 32 - 22 common umount sys_umount 32 + 22 common umount2 sys_umount 33 33 23 common setuid sys_setuid 34 34 24 common getxuid sys_getxuid 35 35 25 common exec_with_loader sys_ni_syscall ··· 174 174 187 common osf_alt_sigpending sys_ni_syscall 175 175 188 common osf_alt_setsid sys_ni_syscall 176 176 199 common osf_swapon sys_swapon 177 - 200 common msgctl sys_msgctl 177 + 200 common msgctl sys_old_msgctl 178 178 201 common msgget sys_msgget 179 179 202 common msgrcv sys_msgrcv 180 180 203 common msgsnd sys_msgsnd 181 - 204 common semctl sys_semctl 181 + 204 common semctl sys_old_semctl 182 182 205 common semget sys_semget 183 183 206 common semop sys_semop 184 184 207 common osf_utsname sys_osf_utsname 185 185 208 common lchown sys_lchown 186 - 209 common osf_shmat sys_shmat 187 - 210 common shmctl sys_shmctl 186 + 209 common shmat sys_shmat 187 + 210 common shmctl sys_old_shmctl 188 188 211 common shmdt sys_shmdt 189 189 212 common shmget sys_shmget 190 190 213 common osf_mvalid sys_ni_syscall ··· 451 451 520 common preadv2 sys_preadv2 452 452 521 common pwritev2 sys_pwritev2 453 453 522 common statx sys_statx 454 + 523 common io_pgetevents sys_io_pgetevents 455 + 524 common pkey_mprotect sys_pkey_mprotect 456 + 525 common pkey_alloc sys_pkey_alloc 457 + 526 common pkey_free sys_pkey_free 458 + 527 common rseq sys_rseq 459 + 528 common statfs64 sys_statfs64 460 + 529 common fstatfs64 sys_fstatfs64 461 + 530 common getegid sys_getegid 462 + 531 common geteuid sys_geteuid 463 + 532 common getppid sys_getppid 464 + # all other architectures have common numbers for new syscall, alpha 465 + # is the exception.
+1
arch/arc/Kconfig
··· 14 14 select ARCH_HAS_SYNC_DMA_FOR_CPU 15 15 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 16 16 select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC 17 + select ARCH_32BIT_OFF_T 17 18 select BUILDTIME_EXTABLE_SORT 18 19 select CLONE_BACKWARDS 19 20 select COMMON_CLK
+2
arch/arc/include/uapi/asm/unistd.h
··· 18 18 19 19 #define __ARCH_WANT_RENAMEAT 20 20 #define __ARCH_WANT_STAT64 21 + #define __ARCH_WANT_SET_GET_RLIMIT 21 22 #define __ARCH_WANT_SYS_EXECVE 22 23 #define __ARCH_WANT_SYS_CLONE 23 24 #define __ARCH_WANT_SYS_VFORK 24 25 #define __ARCH_WANT_SYS_FORK 26 + #define __ARCH_WANT_TIME32_SYSCALLS 25 27 26 28 #define sys_mmap2 sys_mmap_pgoff 27 29
+1
arch/arm/Kconfig
··· 2 2 config ARM 3 3 bool 4 4 default y 5 + select ARCH_32BIT_OFF_T 5 6 select ARCH_CLOCKSOURCE_DATA 6 7 select ARCH_DISCARD_MEMBLOCK if !HAVE_ARCH_PFN_VALID && !KEXEC 7 8 select ARCH_HAS_DEBUG_VIRTUAL if MMU
+2 -3
arch/arm/include/asm/unistd.h
··· 26 26 #define __ARCH_WANT_SYS_SIGPROCMASK 27 27 #define __ARCH_WANT_SYS_OLD_MMAP 28 28 #define __ARCH_WANT_SYS_OLD_SELECT 29 - #define __ARCH_WANT_SYS_UTIME 29 + #define __ARCH_WANT_SYS_UTIME32 30 30 31 31 #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT) 32 - #define __ARCH_WANT_SYS_TIME 32 + #define __ARCH_WANT_SYS_TIME32 33 33 #define __ARCH_WANT_SYS_IPC 34 34 #define __ARCH_WANT_SYS_OLDUMOUNT 35 35 #define __ARCH_WANT_SYS_ALARM ··· 45 45 * Unimplemented (or alternatively implemented) syscalls 46 46 */ 47 47 #define __IGNORE_fadvise64_64 48 - #define __IGNORE_migrate_pages 49 48 50 49 #ifdef __ARM_EABI__ 51 50 /*
+4 -4
arch/arm/kernel/sys_oabi-compat.c
··· 317 317 asmlinkage long sys_oabi_semtimedop(int semid, 318 318 struct oabi_sembuf __user *tsops, 319 319 unsigned nsops, 320 - const struct timespec __user *timeout) 320 + const struct old_timespec32 __user *timeout) 321 321 { 322 322 struct sembuf *sops; 323 - struct timespec local_timeout; 323 + struct old_timespec32 local_timeout; 324 324 long err; 325 325 int i; 326 326 ··· 350 350 } else { 351 351 mm_segment_t fs = get_fs(); 352 352 set_fs(KERNEL_DS); 353 - err = sys_semtimedop(semid, sops, nsops, timeout); 353 + err = sys_semtimedop_time32(semid, sops, nsops, timeout); 354 354 set_fs(fs); 355 355 } 356 356 kfree(sops); ··· 375 375 return sys_oabi_semtimedop(first, 376 376 (struct oabi_sembuf __user *)ptr, 377 377 second, 378 - (const struct timespec __user *)fifth); 378 + (const struct old_timespec32 __user *)fifth); 379 379 default: 380 380 return sys_ipc(call, first, second, third, ptr, fifth); 381 381 }
+54 -31
arch/arm/tools/syscall.tbl
··· 24 24 10 common unlink sys_unlink 25 25 11 common execve sys_execve 26 26 12 common chdir sys_chdir 27 - 13 oabi time sys_time 27 + 13 oabi time sys_time32 28 28 14 common mknod sys_mknod 29 29 15 common chmod sys_chmod 30 30 16 common lchown sys_lchown16 ··· 36 36 22 oabi umount sys_oldumount 37 37 23 common setuid sys_setuid16 38 38 24 common getuid sys_getuid16 39 - 25 oabi stime sys_stime 39 + 25 oabi stime sys_stime32 40 40 26 common ptrace sys_ptrace 41 41 27 oabi alarm sys_alarm 42 42 # 28 was sys_fstat 43 43 29 common pause sys_pause 44 - 30 oabi utime sys_utime 44 + 30 oabi utime sys_utime32 45 45 # 31 was sys_stty 46 46 # 32 was sys_gtty 47 47 33 common access sys_access ··· 137 137 121 common setdomainname sys_setdomainname 138 138 122 common uname sys_newuname 139 139 # 123 was sys_modify_ldt 140 - 124 common adjtimex sys_adjtimex 140 + 124 common adjtimex sys_adjtimex_time32 141 141 125 common mprotect sys_mprotect 142 142 126 common sigprocmask sys_sigprocmask 143 143 # 127 was sys_create_module ··· 174 174 158 common sched_yield sys_sched_yield 175 175 159 common sched_get_priority_max sys_sched_get_priority_max 176 176 160 common sched_get_priority_min sys_sched_get_priority_min 177 - 161 common sched_rr_get_interval sys_sched_rr_get_interval 178 - 162 common nanosleep sys_nanosleep 177 + 161 common sched_rr_get_interval sys_sched_rr_get_interval_time32 178 + 162 common nanosleep sys_nanosleep_time32 179 179 163 common mremap sys_mremap 180 180 164 common setresuid sys_setresuid16 181 181 165 common getresuid sys_getresuid16 ··· 190 190 174 common rt_sigaction sys_rt_sigaction 191 191 175 common rt_sigprocmask sys_rt_sigprocmask 192 192 176 common rt_sigpending sys_rt_sigpending 193 - 177 common rt_sigtimedwait sys_rt_sigtimedwait 193 + 177 common rt_sigtimedwait sys_rt_sigtimedwait_time32 194 194 178 common rt_sigqueueinfo sys_rt_sigqueueinfo 195 195 179 common rt_sigsuspend sys_rt_sigsuspend 196 196 180 common pread64 sys_pread64 sys_oabi_pread64 ··· 254 254 237 common fremovexattr sys_fremovexattr 255 255 238 common tkill sys_tkill 256 256 239 common sendfile64 sys_sendfile64 257 - 240 common futex sys_futex 257 + 240 common futex sys_futex_time32 258 258 241 common sched_setaffinity sys_sched_setaffinity 259 259 242 common sched_getaffinity sys_sched_getaffinity 260 260 243 common io_setup sys_io_setup 261 261 244 common io_destroy sys_io_destroy 262 - 245 common io_getevents sys_io_getevents 262 + 245 common io_getevents sys_io_getevents_time32 263 263 246 common io_submit sys_io_submit 264 264 247 common io_cancel sys_io_cancel 265 265 248 common exit_group sys_exit_group ··· 272 272 # 255 for get_thread_area 273 273 256 common set_tid_address sys_set_tid_address 274 274 257 common timer_create sys_timer_create 275 - 258 common timer_settime sys_timer_settime 276 - 259 common timer_gettime sys_timer_gettime 275 + 258 common timer_settime sys_timer_settime32 276 + 259 common timer_gettime sys_timer_gettime32 277 277 260 common timer_getoverrun sys_timer_getoverrun 278 278 261 common timer_delete sys_timer_delete 279 - 262 common clock_settime sys_clock_settime 280 - 263 common clock_gettime sys_clock_gettime 281 - 264 common clock_getres sys_clock_getres 282 - 265 common clock_nanosleep sys_clock_nanosleep 279 + 262 common clock_settime sys_clock_settime32 280 + 263 common clock_gettime sys_clock_gettime32 281 + 264 common clock_getres sys_clock_getres_time32 282 + 265 common clock_nanosleep sys_clock_nanosleep_time32 283 283 266 common statfs64 sys_statfs64_wrapper 284 284 267 common fstatfs64 sys_fstatfs64_wrapper 285 285 268 common tgkill sys_tgkill 286 - 269 common utimes sys_utimes 286 + 269 common utimes sys_utimes_time32 287 287 270 common arm_fadvise64_64 sys_arm_fadvise64_64 288 288 271 common pciconfig_iobase sys_pciconfig_iobase 289 289 272 common pciconfig_read sys_pciconfig_read 290 290 273 common pciconfig_write sys_pciconfig_write 291 291 274 common mq_open sys_mq_open 292 292 275 common mq_unlink sys_mq_unlink 293 - 276 common mq_timedsend sys_mq_timedsend 294 - 277 common mq_timedreceive sys_mq_timedreceive 293 + 276 common mq_timedsend sys_mq_timedsend_time32 294 + 277 common mq_timedreceive sys_mq_timedreceive_time32 295 295 278 common mq_notify sys_mq_notify 296 296 279 common mq_getsetattr sys_mq_getsetattr 297 297 280 common waitid sys_waitid ··· 314 314 297 common recvmsg sys_recvmsg 315 315 298 common semop sys_semop sys_oabi_semop 316 316 299 common semget sys_semget 317 - 300 common semctl sys_semctl 317 + 300 common semctl sys_old_semctl 318 318 301 common msgsnd sys_msgsnd 319 319 302 common msgrcv sys_msgrcv 320 320 303 common msgget sys_msgget 321 - 304 common msgctl sys_msgctl 321 + 304 common msgctl sys_old_msgctl 322 322 305 common shmat sys_shmat 323 323 306 common shmdt sys_shmdt 324 324 307 common shmget sys_shmget 325 - 308 common shmctl sys_shmctl 325 + 308 common shmctl sys_old_shmctl 326 326 309 common add_key sys_add_key 327 327 310 common request_key sys_request_key 328 328 311 common keyctl sys_keyctl 329 - 312 common semtimedop sys_semtimedop sys_oabi_semtimedop 329 + 312 common semtimedop sys_semtimedop_time32 sys_oabi_semtimedop 330 330 313 common vserver 331 331 314 common ioprio_set sys_ioprio_set 332 332 315 common ioprio_get sys_ioprio_get ··· 340 340 323 common mkdirat sys_mkdirat 341 341 324 common mknodat sys_mknodat 342 342 325 common fchownat sys_fchownat 343 - 326 common futimesat sys_futimesat 343 + 326 common futimesat sys_futimesat_time32 344 344 327 common fstatat64 sys_fstatat64 sys_oabi_fstatat64 345 345 328 common unlinkat sys_unlinkat 346 346 329 common renameat sys_renameat ··· 349 349 332 common readlinkat sys_readlinkat 350 350 333 common fchmodat sys_fchmodat 351 351 334 common faccessat sys_faccessat 352 - 335 common pselect6 sys_pselect6 353 - 336 common ppoll sys_ppoll 352 + 335 common pselect6 sys_pselect6_time32 353 + 336 common ppoll sys_ppoll_time32 354 354 337 common unshare sys_unshare 355 355 338 common set_robust_list sys_set_robust_list 356 356 339 common get_robust_list sys_get_robust_list ··· 362 362 345 common getcpu sys_getcpu 363 363 346 common epoll_pwait sys_epoll_pwait 364 364 347 common kexec_load sys_kexec_load 365 - 348 common utimensat sys_utimensat 365 + 348 common utimensat sys_utimensat_time32 366 366 349 common signalfd sys_signalfd 367 367 350 common timerfd_create sys_timerfd_create 368 368 351 common eventfd sys_eventfd 369 369 352 common fallocate sys_fallocate 370 - 353 common timerfd_settime sys_timerfd_settime 371 - 354 common timerfd_gettime sys_timerfd_gettime 370 + 353 common timerfd_settime sys_timerfd_settime32 371 + 354 common timerfd_gettime sys_timerfd_gettime32 372 372 355 common signalfd4 sys_signalfd4 373 373 356 common eventfd2 sys_eventfd2 374 374 357 common epoll_create1 sys_epoll_create1 ··· 379 379 362 common pwritev sys_pwritev 380 380 363 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo 381 381 364 common perf_event_open sys_perf_event_open 382 - 365 common recvmmsg sys_recvmmsg 382 + 365 common recvmmsg sys_recvmmsg_time32 383 383 366 common accept4 sys_accept4 384 384 367 common fanotify_init sys_fanotify_init 385 385 368 common fanotify_mark sys_fanotify_mark 386 386 369 common prlimit64 sys_prlimit64 387 387 370 common name_to_handle_at sys_name_to_handle_at 388 388 371 common open_by_handle_at sys_open_by_handle_at 389 - 372 common clock_adjtime sys_clock_adjtime 389 + 372 common clock_adjtime sys_clock_adjtime32 390 390 373 common syncfs sys_syncfs 391 391 374 common sendmmsg sys_sendmmsg 392 392 375 common setns sys_setns ··· 413 413 396 common pkey_free sys_pkey_free 414 414 397 common statx sys_statx 415 415 398 common rseq sys_rseq 416 - 399 common io_pgetevents sys_io_pgetevents 416 + 399 common io_pgetevents sys_io_pgetevents_time32 417 + 400 common migrate_pages sys_migrate_pages 418 + 401 common kexec_file_load sys_kexec_file_load 419 + # 402 is unused 420 + 403 common clock_gettime64 sys_clock_gettime 421 + 404 common clock_settime64 sys_clock_settime 422 + 405 common clock_adjtime64 sys_clock_adjtime 423 + 406 common clock_getres_time64 sys_clock_getres 424 + 407 common clock_nanosleep_time64 sys_clock_nanosleep 425 + 408 common timer_gettime64 sys_timer_gettime 426 + 409 common timer_settime64 sys_timer_settime 427 + 410 common timerfd_gettime64 sys_timerfd_gettime 428 + 411 common timerfd_settime64 sys_timerfd_settime 429 + 412 common utimensat_time64 sys_utimensat 430 + 413 common pselect6_time64 sys_pselect6 431 + 414 common ppoll_time64 sys_ppoll 432 + 416 common io_pgetevents_time64 sys_io_pgetevents 433 + 417 common recvmmsg_time64 sys_recvmmsg 434 + 418 common mq_timedsend_time64 sys_mq_timedsend 435 + 419 common mq_timedreceive_time64 sys_mq_timedreceive 436 + 420 common semtimedop_time64 sys_semtimedop 437 + 421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait 438 + 422 common futex_time64 sys_futex 439 + 423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
+1 -1
arch/arm64/include/asm/unistd.h
··· 44 44 #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5) 45 45 #define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800) 46 46 47 - #define __NR_compat_syscalls 400 47 + #define __NR_compat_syscalls 424 48 48 #endif 49 49 50 50 #define __ARCH_WANT_SYS_CLONE
+72 -27
arch/arm64/include/asm/unistd32.h
··· 270 270 /* 123 was sys_modify_ldt */ 271 271 __SYSCALL(123, sys_ni_syscall) 272 272 #define __NR_adjtimex 124 273 - __SYSCALL(__NR_adjtimex, compat_sys_adjtimex) 273 + __SYSCALL(__NR_adjtimex, sys_adjtimex_time32) 274 274 #define __NR_mprotect 125 275 275 __SYSCALL(__NR_mprotect, sys_mprotect) 276 276 #define __NR_sigprocmask 126 ··· 344 344 #define __NR_sched_get_priority_min 160 345 345 __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min) 346 346 #define __NR_sched_rr_get_interval 161 347 - __SYSCALL(__NR_sched_rr_get_interval, compat_sys_sched_rr_get_interval) 347 + __SYSCALL(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32) 348 348 #define __NR_nanosleep 162 349 - __SYSCALL(__NR_nanosleep, compat_sys_nanosleep) 349 + __SYSCALL(__NR_nanosleep, sys_nanosleep_time32) 350 350 #define __NR_mremap 163 351 351 __SYSCALL(__NR_mremap, sys_mremap) 352 352 #define __NR_setresuid 164 ··· 376 376 #define __NR_rt_sigpending 176 377 377 __SYSCALL(__NR_rt_sigpending, compat_sys_rt_sigpending) 378 378 #define __NR_rt_sigtimedwait 177 379 - __SYSCALL(__NR_rt_sigtimedwait, compat_sys_rt_sigtimedwait) 379 + __SYSCALL(__NR_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32) 380 380 #define __NR_rt_sigqueueinfo 178 381 381 __SYSCALL(__NR_rt_sigqueueinfo, compat_sys_rt_sigqueueinfo) 382 382 #define __NR_rt_sigsuspend 179 ··· 502 502 #define __NR_sendfile64 239 503 503 __SYSCALL(__NR_sendfile64, sys_sendfile64) 504 504 #define __NR_futex 240 505 - __SYSCALL(__NR_futex, compat_sys_futex) 505 + __SYSCALL(__NR_futex, sys_futex_time32) 506 506 #define __NR_sched_setaffinity 241 507 507 __SYSCALL(__NR_sched_setaffinity, compat_sys_sched_setaffinity) 508 508 #define __NR_sched_getaffinity 242 ··· 512 512 #define __NR_io_destroy 244 513 513 __SYSCALL(__NR_io_destroy, sys_io_destroy) 514 514 #define __NR_io_getevents 245 515 - __SYSCALL(__NR_io_getevents, compat_sys_io_getevents) 515 + __SYSCALL(__NR_io_getevents, sys_io_getevents_time32) 516 516 #define __NR_io_submit 246 517 517 __SYSCALL(__NR_io_submit, compat_sys_io_submit) 518 518 #define __NR_io_cancel 247 ··· 538 538 #define __NR_timer_create 257 539 539 __SYSCALL(__NR_timer_create, compat_sys_timer_create) 540 540 #define __NR_timer_settime 258 541 - __SYSCALL(__NR_timer_settime, compat_sys_timer_settime) 541 + __SYSCALL(__NR_timer_settime, sys_timer_settime32) 542 542 #define __NR_timer_gettime 259 543 - __SYSCALL(__NR_timer_gettime, compat_sys_timer_gettime) 543 + __SYSCALL(__NR_timer_gettime, sys_timer_gettime32) 544 544 #define __NR_timer_getoverrun 260 545 545 __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun) 546 546 #define __NR_timer_delete 261 547 547 __SYSCALL(__NR_timer_delete, sys_timer_delete) 548 548 #define __NR_clock_settime 262 549 - __SYSCALL(__NR_clock_settime, compat_sys_clock_settime) 549 + __SYSCALL(__NR_clock_settime, sys_clock_settime32) 550 550 #define __NR_clock_gettime 263 551 - __SYSCALL(__NR_clock_gettime, compat_sys_clock_gettime) 551 + __SYSCALL(__NR_clock_gettime, sys_clock_gettime32) 552 552 #define __NR_clock_getres 264 553 - __SYSCALL(__NR_clock_getres, compat_sys_clock_getres) 553 + __SYSCALL(__NR_clock_getres, sys_clock_getres_time32) 554 554 #define __NR_clock_nanosleep 265 555 - __SYSCALL(__NR_clock_nanosleep, compat_sys_clock_nanosleep) 555 + __SYSCALL(__NR_clock_nanosleep, sys_clock_nanosleep_time32) 556 556 #define __NR_statfs64 266 557 557 __SYSCALL(__NR_statfs64, compat_sys_aarch32_statfs64) 558 558 #define __NR_fstatfs64 267 ··· 560 560 #define __NR_tgkill 268 561 561 __SYSCALL(__NR_tgkill, sys_tgkill) 562 562 #define __NR_utimes 269 563 - __SYSCALL(__NR_utimes, compat_sys_utimes) 563 + __SYSCALL(__NR_utimes, sys_utimes_time32) 564 564 #define __NR_arm_fadvise64_64 270 565 565 __SYSCALL(__NR_arm_fadvise64_64, compat_sys_aarch32_fadvise64_64) 566 566 #define __NR_pciconfig_iobase 271 ··· 574 574 #define __NR_mq_unlink 275 575 575 __SYSCALL(__NR_mq_unlink, sys_mq_unlink) 576 576 #define __NR_mq_timedsend 276 577 - __SYSCALL(__NR_mq_timedsend, compat_sys_mq_timedsend) 577 + __SYSCALL(__NR_mq_timedsend, sys_mq_timedsend_time32) 578 578 #define __NR_mq_timedreceive 277 579 - __SYSCALL(__NR_mq_timedreceive, compat_sys_mq_timedreceive) 579 + __SYSCALL(__NR_mq_timedreceive, sys_mq_timedreceive_time32) 580 580 #define __NR_mq_notify 278 581 581 __SYSCALL(__NR_mq_notify, compat_sys_mq_notify) 582 582 #define __NR_mq_getsetattr 279 ··· 622 622 #define __NR_semget 299 623 623 __SYSCALL(__NR_semget, sys_semget) 624 624 #define __NR_semctl 300 625 - __SYSCALL(__NR_semctl, compat_sys_semctl) 625 + __SYSCALL(__NR_semctl, compat_sys_old_semctl) 626 626 #define __NR_msgsnd 301 627 627 __SYSCALL(__NR_msgsnd, compat_sys_msgsnd) 628 628 #define __NR_msgrcv 302 ··· 630 630 #define __NR_msgget 303 631 631 __SYSCALL(__NR_msgget, sys_msgget) 632 632 #define __NR_msgctl 304 633 - __SYSCALL(__NR_msgctl, compat_sys_msgctl) 633 + __SYSCALL(__NR_msgctl, compat_sys_old_msgctl) 634 634 #define __NR_shmat 305 635 635 __SYSCALL(__NR_shmat, compat_sys_shmat) 636 636 #define __NR_shmdt 306 ··· 638 638 #define __NR_shmget 307 639 639 __SYSCALL(__NR_shmget, sys_shmget) 640 640 #define __NR_shmctl 308 641 - __SYSCALL(__NR_shmctl, compat_sys_shmctl) 641 + __SYSCALL(__NR_shmctl, compat_sys_old_shmctl) 642 642 #define __NR_add_key 309 643 643 __SYSCALL(__NR_add_key, sys_add_key) 644 644 #define __NR_request_key 310 ··· 646 646 #define __NR_keyctl 311 647 647 __SYSCALL(__NR_keyctl, compat_sys_keyctl) 648 648 #define __NR_semtimedop 312 649 - __SYSCALL(__NR_semtimedop, compat_sys_semtimedop) 649 + __SYSCALL(__NR_semtimedop, sys_semtimedop_time32) 650 650 #define __NR_vserver 313 651 651 __SYSCALL(__NR_vserver, sys_ni_syscall) 652 652 #define __NR_ioprio_set 314 ··· 674 674 #define __NR_fchownat 325 675 675 __SYSCALL(__NR_fchownat, sys_fchownat) 676 676 #define __NR_futimesat 326 677 - __SYSCALL(__NR_futimesat, compat_sys_futimesat) 677 + __SYSCALL(__NR_futimesat, sys_futimesat_time32) 678 678 #define __NR_fstatat64 327 679 679 __SYSCALL(__NR_fstatat64, sys_fstatat64) 680 680 #define __NR_unlinkat 328 ··· 692 692 #define __NR_faccessat 334 693 693 __SYSCALL(__NR_faccessat, sys_faccessat) 694 694 #define __NR_pselect6 335 695 - __SYSCALL(__NR_pselect6, compat_sys_pselect6) 695 + __SYSCALL(__NR_pselect6, compat_sys_pselect6_time32) 696 696 #define __NR_ppoll 336 697 - __SYSCALL(__NR_ppoll, compat_sys_ppoll) 697 + __SYSCALL(__NR_ppoll, compat_sys_ppoll_time32) 698 698 #define __NR_unshare 337 699 699 __SYSCALL(__NR_unshare, sys_unshare) 700 700 #define __NR_set_robust_list 338 ··· 718 718 #define __NR_kexec_load 347 719 719 __SYSCALL(__NR_kexec_load, compat_sys_kexec_load) 720 720 #define __NR_utimensat 348 721 - __SYSCALL(__NR_utimensat, compat_sys_utimensat) 721 + __SYSCALL(__NR_utimensat, sys_utimensat_time32) 722 722 #define __NR_signalfd 349 723 723 __SYSCALL(__NR_signalfd, compat_sys_signalfd) 724 724 #define __NR_timerfd_create 350 ··· 728 728 #define __NR_fallocate 352 729 729 __SYSCALL(__NR_fallocate, compat_sys_aarch32_fallocate) 730 730 #define __NR_timerfd_settime 353 731 - __SYSCALL(__NR_timerfd_settime, compat_sys_timerfd_settime) 731 + __SYSCALL(__NR_timerfd_settime, sys_timerfd_settime32) 732 732 #define __NR_timerfd_gettime 354 733 - __SYSCALL(__NR_timerfd_gettime, compat_sys_timerfd_gettime) 733 + __SYSCALL(__NR_timerfd_gettime, sys_timerfd_gettime32) 734 734 #define __NR_signalfd4 355 735 735 __SYSCALL(__NR_signalfd4, compat_sys_signalfd4) 736 736 #define __NR_eventfd2 356 ··· 752 752 #define __NR_perf_event_open 364 753 753 __SYSCALL(__NR_perf_event_open, sys_perf_event_open) 754 754 #define __NR_recvmmsg 365 755 - __SYSCALL(__NR_recvmmsg, compat_sys_recvmmsg) 755 + __SYSCALL(__NR_recvmmsg, compat_sys_recvmmsg_time32) 756 756 #define __NR_accept4 366 757 757 __SYSCALL(__NR_accept4, sys_accept4) 758 758 #define __NR_fanotify_init 367 ··· 766 766 #define __NR_open_by_handle_at 371 767 767 __SYSCALL(__NR_open_by_handle_at, compat_sys_open_by_handle_at) 768 768 #define __NR_clock_adjtime 372 769 - __SYSCALL(__NR_clock_adjtime, compat_sys_clock_adjtime) 769 + __SYSCALL(__NR_clock_adjtime, sys_clock_adjtime32) 770 770 #define __NR_syncfs 373 771 771 __SYSCALL(__NR_syncfs, sys_syncfs) 772 772 #define __NR_sendmmsg 374 ··· 821 821 __SYSCALL(__NR_rseq, sys_rseq) 822 822 #define __NR_io_pgetevents 399 823 823 __SYSCALL(__NR_io_pgetevents, compat_sys_io_pgetevents) 824 + #define __NR_migrate_pages 400 825 + __SYSCALL(__NR_migrate_pages, compat_sys_migrate_pages) 826 + #define __NR_kexec_file_load 401 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) 824 869 825 870 /* 826 871 * Please add new compat syscalls above this comment and update
+2
arch/arm64/include/uapi/asm/unistd.h
··· 17 17 18 18 #define __ARCH_WANT_RENAMEAT 19 19 #define __ARCH_WANT_NEW_STAT 20 + #define __ARCH_WANT_SET_GET_RLIMIT 21 + #define __ARCH_WANT_TIME32_SYSCALLS 20 22 21 23 #include <asm-generic/unistd.h>
+1
arch/c6x/Kconfig
··· 6 6 7 7 config C6X 8 8 def_bool y 9 + select ARCH_32BIT_OFF_T 9 10 select ARCH_HAS_SYNC_DMA_FOR_CPU 10 11 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 11 12 select CLKDEV_LOOKUP
+2
arch/c6x/include/uapi/asm/unistd.h
··· 17 17 18 18 #define __ARCH_WANT_RENAMEAT 19 19 #define __ARCH_WANT_STAT64 20 + #define __ARCH_WANT_SET_GET_RLIMIT 20 21 #define __ARCH_WANT_SYS_CLONE 22 + #define __ARCH_WANT_TIME32_SYSCALLS 21 23 22 24 /* Use the standard ABI for syscalls. */ 23 25 #include <asm-generic/unistd.h>
+1
arch/csky/Kconfig
··· 1 1 config CSKY 2 2 def_bool y 3 + select ARCH_32BIT_OFF_T 3 4 select ARCH_HAS_SYNC_DMA_FOR_CPU 4 5 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 5 6 select ARCH_USE_BUILTIN_BSWAP
+2
arch/csky/include/uapi/asm/unistd.h
··· 2 2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. 3 3 4 4 #define __ARCH_WANT_SYS_CLONE 5 + #define __ARCH_WANT_SET_GET_RLIMIT 6 + #define __ARCH_WANT_TIME32_SYSCALLS 5 7 #include <asm-generic/unistd.h> 6 8 7 9 #define __NR_set_thread_area (__NR_arch_specific_syscall + 0)
+1
arch/h8300/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 config H8300 3 3 def_bool y 4 + select ARCH_32BIT_OFF_T 4 5 select GENERIC_ATOMIC64 5 6 select HAVE_UID16 6 7 select VIRT_TO_BUS
+2
arch/h8300/include/uapi/asm/unistd.h
··· 2 2 3 3 #define __ARCH_WANT_RENAMEAT 4 4 #define __ARCH_WANT_STAT64 5 + #define __ARCH_WANT_SET_GET_RLIMIT 6 + #define __ARCH_WANT_TIME32_SYSCALLS 5 7 6 8 #include <asm-generic/unistd.h>
+1
arch/hexagon/Kconfig
··· 4 4 5 5 config HEXAGON 6 6 def_bool y 7 + select ARCH_32BIT_OFF_T 7 8 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 8 9 select ARCH_NO_PREEMPT 9 10 select HAVE_OPROFILE
+2
arch/hexagon/include/uapi/asm/unistd.h
··· 30 30 #define sys_mmap2 sys_mmap_pgoff 31 31 #define __ARCH_WANT_RENAMEAT 32 32 #define __ARCH_WANT_STAT64 33 + #define __ARCH_WANT_SET_GET_RLIMIT 33 34 #define __ARCH_WANT_SYS_EXECVE 34 35 #define __ARCH_WANT_SYS_CLONE 35 36 #define __ARCH_WANT_SYS_VFORK 36 37 #define __ARCH_WANT_SYS_FORK 38 + #define __ARCH_WANT_TIME32_SYSCALLS 37 39 38 40 #include <asm-generic/unistd.h>
-14
arch/ia64/include/asm/unistd.h
··· 12 12 13 13 #define NR_syscalls __NR_syscalls /* length of syscall table */ 14 14 15 - /* 16 - * The following defines stop scripts/checksyscalls.sh from complaining about 17 - * unimplemented system calls. Glibc provides for each of these by using 18 - * more modern equivalent system calls. 19 - */ 20 - #define __IGNORE_fork /* clone() */ 21 - #define __IGNORE_time /* gettimeofday() */ 22 - #define __IGNORE_alarm /* setitimer(ITIMER_REAL, ... */ 23 - #define __IGNORE_pause /* rt_sigprocmask(), rt_sigsuspend() */ 24 - #define __IGNORE_utime /* utimes() */ 25 - #define __IGNORE_getpgrp /* getpgid() */ 26 - #define __IGNORE_vfork /* clone() */ 27 - #define __IGNORE_umount2 /* umount() */ 28 - 29 15 #define __ARCH_WANT_NEW_STAT 30 16 #define __ARCH_WANT_SYS_UTIME 31 17
+2
arch/ia64/include/uapi/asm/unistd.h
··· 15 15 16 16 #define __NR_Linux 1024 17 17 18 + #define __NR_umount __NR_umount2 19 + 18 20 #include <asm/unistd_64.h> 19 21 20 22 #endif /* _UAPI_ASM_IA64_UNISTD_H */
+10 -1
arch/ia64/kernel/syscalls/syscall.tbl
··· 29 29 17 common getpid sys_getpid 30 30 18 common getppid sys_getppid 31 31 19 common mount sys_mount 32 - 20 common umount sys_umount 32 + 20 common umount2 sys_umount 33 33 21 common setuid sys_setuid 34 34 22 common getuid sys_getuid 35 35 23 common geteuid sys_geteuid ··· 335 335 323 common copy_file_range sys_copy_file_range 336 336 324 common preadv2 sys_preadv2 337 337 325 common pwritev2 sys_pwritev2 338 + 326 common statx sys_statx 339 + 327 common io_pgetevents sys_io_pgetevents 340 + 328 common perf_event_open sys_perf_event_open 341 + 329 common seccomp sys_seccomp 342 + 330 common pkey_mprotect sys_pkey_mprotect 343 + 331 common pkey_alloc sys_pkey_alloc 344 + 332 common pkey_free sys_pkey_free 345 + 333 common rseq sys_rseq 346 + # 334 through 423 are reserved to sync up with other architectures
+1
arch/m68k/Kconfig
··· 2 2 config M68K 3 3 bool 4 4 default y 5 + select ARCH_32BIT_OFF_T 5 6 select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA 6 7 select ARCH_MIGHT_HAVE_PC_PARPORT if ISA 7 8 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
+2 -2
arch/m68k/include/asm/unistd.h
··· 15 15 #define __ARCH_WANT_SYS_IPC 16 16 #define __ARCH_WANT_SYS_PAUSE 17 17 #define __ARCH_WANT_SYS_SIGNAL 18 - #define __ARCH_WANT_SYS_TIME 19 - #define __ARCH_WANT_SYS_UTIME 18 + #define __ARCH_WANT_SYS_TIME32 19 + #define __ARCH_WANT_SYS_UTIME32 20 20 #define __ARCH_WANT_SYS_WAITPID 21 21 #define __ARCH_WANT_SYS_SOCKETCALL 22 22 #define __ARCH_WANT_SYS_FADVISE64
+62 -26
arch/m68k/kernel/syscalls/syscall.tbl
··· 20 20 10 common unlink sys_unlink 21 21 11 common execve sys_execve 22 22 12 common chdir sys_chdir 23 - 13 common time sys_time 23 + 13 common time sys_time32 24 24 14 common mknod sys_mknod 25 25 15 common chmod sys_chmod 26 26 16 common chown sys_chown16 ··· 32 32 22 common umount sys_oldumount 33 33 23 common setuid sys_setuid16 34 34 24 common getuid sys_getuid16 35 - 25 common stime sys_stime 35 + 25 common stime sys_stime32 36 36 26 common ptrace sys_ptrace 37 37 27 common alarm sys_alarm 38 38 28 common oldfstat sys_fstat 39 39 29 common pause sys_pause 40 - 30 common utime sys_utime 40 + 30 common utime sys_utime32 41 41 # 31 was stty 42 42 # 32 was gtty 43 43 33 common access sys_access ··· 131 131 121 common setdomainname sys_setdomainname 132 132 122 common uname sys_newuname 133 133 123 common cacheflush sys_cacheflush 134 - 124 common adjtimex sys_adjtimex 134 + 124 common adjtimex sys_adjtimex_time32 135 135 125 common mprotect sys_mprotect 136 136 126 common sigprocmask sys_sigprocmask 137 137 127 common create_module sys_ni_syscall ··· 168 168 158 common sched_yield sys_sched_yield 169 169 159 common sched_get_priority_max sys_sched_get_priority_max 170 170 160 common sched_get_priority_min sys_sched_get_priority_min 171 - 161 common sched_rr_get_interval sys_sched_rr_get_interval 172 - 162 common nanosleep sys_nanosleep 171 + 161 common sched_rr_get_interval sys_sched_rr_get_interval_time32 172 + 162 common nanosleep sys_nanosleep_time32 173 173 163 common mremap sys_mremap 174 174 164 common setresuid sys_setresuid16 175 175 165 common getresuid sys_getresuid16 ··· 184 184 174 common rt_sigaction sys_rt_sigaction 185 185 175 common rt_sigprocmask sys_rt_sigprocmask 186 186 176 common rt_sigpending sys_rt_sigpending 187 - 177 common rt_sigtimedwait sys_rt_sigtimedwait 187 + 177 common rt_sigtimedwait sys_rt_sigtimedwait_time32 188 188 178 common rt_sigqueueinfo sys_rt_sigqueueinfo 189 189 179 common rt_sigsuspend sys_rt_sigsuspend 190 190 180 common pread64 sys_pread64 ··· 242 242 232 common removexattr sys_removexattr 243 243 233 common lremovexattr sys_lremovexattr 244 244 234 common fremovexattr sys_fremovexattr 245 - 235 common futex sys_futex 245 + 235 common futex sys_futex_time32 246 246 236 common sendfile64 sys_sendfile64 247 247 237 common mincore sys_mincore 248 248 238 common madvise sys_madvise ··· 250 250 240 common readahead sys_readahead 251 251 241 common io_setup sys_io_setup 252 252 242 common io_destroy sys_io_destroy 253 - 243 common io_getevents sys_io_getevents 253 + 243 common io_getevents sys_io_getevents_time32 254 254 244 common io_submit sys_io_submit 255 255 245 common io_cancel sys_io_cancel 256 256 246 common fadvise64 sys_fadvise64 ··· 262 262 252 common remap_file_pages sys_remap_file_pages 263 263 253 common set_tid_address sys_set_tid_address 264 264 254 common timer_create sys_timer_create 265 - 255 common timer_settime sys_timer_settime 266 - 256 common timer_gettime sys_timer_gettime 265 + 255 common timer_settime sys_timer_settime32 266 + 256 common timer_gettime sys_timer_gettime32 267 267 257 common timer_getoverrun sys_timer_getoverrun 268 268 258 common timer_delete sys_timer_delete 269 - 259 common clock_settime sys_clock_settime 270 - 260 common clock_gettime sys_clock_gettime 271 - 261 common clock_getres sys_clock_getres 272 - 262 common clock_nanosleep sys_clock_nanosleep 269 + 259 common clock_settime sys_clock_settime32 270 + 260 common clock_gettime sys_clock_gettime32 271 + 261 common clock_getres sys_clock_getres_time32 272 + 262 common clock_nanosleep sys_clock_nanosleep_time32 273 273 263 common statfs64 sys_statfs64 274 274 264 common fstatfs64 sys_fstatfs64 275 275 265 common tgkill sys_tgkill 276 - 266 common utimes sys_utimes 276 + 266 common utimes sys_utimes_time32 277 277 267 common fadvise64_64 sys_fadvise64_64 278 278 268 common mbind sys_mbind 279 279 269 common get_mempolicy sys_get_mempolicy 280 280 270 common set_mempolicy sys_set_mempolicy 281 281 271 common mq_open sys_mq_open 282 282 272 common mq_unlink sys_mq_unlink 283 - 273 common mq_timedsend sys_mq_timedsend 284 - 274 common mq_timedreceive sys_mq_timedreceive 283 + 273 common mq_timedsend sys_mq_timedsend_time32 284 + 274 common mq_timedreceive sys_mq_timedreceive_time32 285 285 275 common mq_notify sys_mq_notify 286 286 276 common mq_getsetattr sys_mq_getsetattr 287 287 277 common waitid sys_waitid ··· 299 299 289 common mkdirat sys_mkdirat 300 300 290 common mknodat sys_mknodat 301 301 291 common fchownat sys_fchownat 302 - 292 common futimesat sys_futimesat 302 + 292 common futimesat sys_futimesat_time32 303 303 293 common fstatat64 sys_fstatat64 304 304 294 common unlinkat sys_unlinkat 305 305 295 common renameat sys_renameat ··· 308 308 298 common readlinkat sys_readlinkat 309 309 299 common fchmodat sys_fchmodat 310 310 300 common faccessat sys_faccessat 311 - 301 common pselect6 sys_pselect6 312 - 302 common ppoll sys_ppoll 311 + 301 common pselect6 sys_pselect6_time32 312 + 302 common ppoll sys_ppoll_time32 313 313 303 common unshare sys_unshare 314 314 304 common set_robust_list sys_set_robust_list 315 315 305 common get_robust_list sys_get_robust_list ··· 323 323 313 common kexec_load sys_kexec_load 324 324 314 common getcpu sys_getcpu 325 325 315 common epoll_pwait sys_epoll_pwait 326 - 316 common utimensat sys_utimensat 326 + 316 common utimensat sys_utimensat_time32 327 327 317 common signalfd sys_signalfd 328 328 318 common timerfd_create sys_timerfd_create 329 329 319 common eventfd sys_eventfd 330 330 320 common fallocate sys_fallocate 331 - 321 common timerfd_settime sys_timerfd_settime 332 - 322 common timerfd_gettime sys_timerfd_gettime 331 + 321 common timerfd_settime sys_timerfd_settime32 332 + 322 common timerfd_gettime sys_timerfd_gettime32 333 333 323 common signalfd4 sys_signalfd4 334 334 324 common eventfd2 sys_eventfd2 335 335 325 common epoll_create1 sys_epoll_create1 ··· 349 349 339 common prlimit64 sys_prlimit64 350 350 340 common name_to_handle_at sys_name_to_handle_at 351 351 341 common open_by_handle_at sys_open_by_handle_at 352 - 342 common clock_adjtime sys_clock_adjtime 352 + 342 common clock_adjtime sys_clock_adjtime32 353 353 343 common syncfs sys_syncfs 354 354 344 common setns sys_setns 355 355 345 common process_vm_readv sys_process_vm_readv ··· 378 378 368 common recvfrom sys_recvfrom 379 379 369 common recvmsg sys_recvmsg 380 380 370 common shutdown sys_shutdown 381 - 371 common recvmmsg sys_recvmmsg 381 + 371 common recvmmsg sys_recvmmsg_time32 382 382 372 common sendmmsg sys_sendmmsg 383 383 373 common userfaultfd sys_userfaultfd 384 384 374 common membarrier sys_membarrier ··· 387 387 377 common preadv2 sys_preadv2 388 388 378 common pwritev2 sys_pwritev2 389 389 379 common statx sys_statx 390 + 380 common seccomp sys_seccomp 391 + 381 common pkey_mprotect sys_pkey_mprotect 392 + 382 common pkey_alloc sys_pkey_alloc 393 + 383 common pkey_free sys_pkey_free 394 + 384 common rseq sys_rseq 395 + # room for arch specific calls 396 + 393 common semget sys_semget 397 + 394 common semctl sys_semctl 398 + 395 common shmget sys_shmget 399 + 396 common shmctl sys_shmctl 400 + 397 common shmat sys_shmat 401 + 398 common shmdt sys_shmdt 402 + 399 common msgget sys_msgget 403 + 400 common msgsnd sys_msgsnd 404 + 401 common msgrcv sys_msgrcv 405 + 402 common msgctl sys_msgctl 406 + 403 common clock_gettime64 sys_clock_gettime 407 + 404 common clock_settime64 sys_clock_settime 408 + 405 common clock_adjtime64 sys_clock_adjtime 409 + 406 common clock_getres_time64 sys_clock_getres 410 + 407 common clock_nanosleep_time64 sys_clock_nanosleep 411 + 408 common timer_gettime64 sys_timer_gettime 412 + 409 common timer_settime64 sys_timer_settime 413 + 410 common timerfd_gettime64 sys_timerfd_gettime 414 + 411 common timerfd_settime64 sys_timerfd_settime 415 + 412 common utimensat_time64 sys_utimensat 416 + 413 common pselect6_time64 sys_pselect6 417 + 414 common ppoll_time64 sys_ppoll 418 + 416 common io_pgetevents_time64 sys_io_pgetevents 419 + 417 common recvmmsg_time64 sys_recvmmsg 420 + 418 common mq_timedsend_time64 sys_mq_timedsend 421 + 419 common mq_timedreceive_time64 sys_mq_timedreceive 422 + 420 common semtimedop_time64 sys_semtimedop 423 + 421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait 424 + 422 common futex_time64 sys_futex 425 + 423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
+1
arch/microblaze/Kconfig
··· 1 1 config MICROBLAZE 2 2 def_bool y 3 + select ARCH_32BIT_OFF_T 3 4 select ARCH_NO_SWAP 4 5 select ARCH_HAS_DMA_COHERENT_TO_PFN if MMU 5 6 select ARCH_HAS_GCOV_PROFILE_ALL
+2 -2
arch/microblaze/include/asm/unistd.h
··· 21 21 #define __ARCH_WANT_SYS_GETHOSTNAME 22 22 #define __ARCH_WANT_SYS_PAUSE 23 23 #define __ARCH_WANT_SYS_SIGNAL 24 - #define __ARCH_WANT_SYS_TIME 25 - #define __ARCH_WANT_SYS_UTIME 24 + #define __ARCH_WANT_SYS_TIME32 25 + #define __ARCH_WANT_SYS_UTIME32 26 26 #define __ARCH_WANT_SYS_WAITPID 27 27 #define __ARCH_WANT_SYS_SOCKETCALL 28 28 #define __ARCH_WANT_SYS_FADVISE64
+52 -31
arch/microblaze/kernel/syscalls/syscall.tbl
··· 20 20 10 common unlink sys_unlink 21 21 11 common execve sys_execve 22 22 12 common chdir sys_chdir 23 - 13 common time sys_time 23 + 13 common time sys_time32 24 24 14 common mknod sys_mknod 25 25 15 common chmod sys_chmod 26 26 16 common lchown sys_lchown ··· 32 32 22 common umount sys_oldumount 33 33 23 common setuid sys_setuid 34 34 24 common getuid sys_getuid 35 - 25 common stime sys_stime 35 + 25 common stime sys_stime32 36 36 26 common ptrace sys_ptrace 37 37 27 common alarm sys_alarm 38 38 28 common oldfstat sys_ni_syscall 39 39 29 common pause sys_pause 40 - 30 common utime sys_utime 40 + 30 common utime sys_utime32 41 41 31 common stty sys_ni_syscall 42 42 32 common gtty sys_ni_syscall 43 43 33 common access sys_access ··· 131 131 121 common setdomainname sys_setdomainname 132 132 122 common uname sys_newuname 133 133 123 common modify_ldt sys_ni_syscall 134 - 124 common adjtimex sys_adjtimex 134 + 124 common adjtimex sys_adjtimex_time32 135 135 125 common mprotect sys_mprotect 136 136 126 common sigprocmask sys_sigprocmask 137 137 127 common create_module sys_ni_syscall ··· 168 168 158 common sched_yield sys_sched_yield 169 169 159 common sched_get_priority_max sys_sched_get_priority_max 170 170 160 common sched_get_priority_min sys_sched_get_priority_min 171 - 161 common sched_rr_get_interval sys_sched_rr_get_interval 172 - 162 common nanosleep sys_nanosleep 171 + 161 common sched_rr_get_interval sys_sched_rr_get_interval_time32 172 + 162 common nanosleep sys_nanosleep_time32 173 173 163 common mremap sys_mremap 174 174 164 common setresuid sys_setresuid 175 175 165 common getresuid sys_getresuid ··· 184 184 174 common rt_sigaction sys_rt_sigaction 185 185 175 common rt_sigprocmask sys_rt_sigprocmask 186 186 176 common rt_sigpending sys_rt_sigpending 187 - 177 common rt_sigtimedwait sys_rt_sigtimedwait 187 + 177 common rt_sigtimedwait sys_rt_sigtimedwait_time32 188 188 178 common rt_sigqueueinfo sys_rt_sigqueueinfo 189 189 179 common rt_sigsuspend sys_rt_sigsuspend 190 190 180 common pread64 sys_pread64 ··· 247 247 237 common fremovexattr sys_fremovexattr 248 248 238 common tkill sys_tkill 249 249 239 common sendfile64 sys_sendfile64 250 - 240 common futex sys_futex 250 + 240 common futex sys_futex_time32 251 251 241 common sched_setaffinity sys_sched_setaffinity 252 252 242 common sched_getaffinity sys_sched_getaffinity 253 253 243 common set_thread_area sys_ni_syscall 254 254 244 common get_thread_area sys_ni_syscall 255 255 245 common io_setup sys_io_setup 256 256 246 common io_destroy sys_io_destroy 257 - 247 common io_getevents sys_io_getevents 257 + 247 common io_getevents sys_io_getevents_time32 258 258 248 common io_submit sys_io_submit 259 259 249 common io_cancel sys_io_cancel 260 260 250 common fadvise64 sys_fadvise64 ··· 267 267 257 common remap_file_pages sys_remap_file_pages 268 268 258 common set_tid_address sys_set_tid_address 269 269 259 common timer_create sys_timer_create 270 - 260 common timer_settime sys_timer_settime 271 - 261 common timer_gettime sys_timer_gettime 270 + 260 common timer_settime sys_timer_settime32 271 + 261 common timer_gettime sys_timer_gettime32 272 272 262 common timer_getoverrun sys_timer_getoverrun 273 273 263 common timer_delete sys_timer_delete 274 - 264 common clock_settime sys_clock_settime 275 - 265 common clock_gettime sys_clock_gettime 276 - 266 common clock_getres sys_clock_getres 277 - 267 common clock_nanosleep sys_clock_nanosleep 274 + 264 common clock_settime sys_clock_settime32 275 + 265 common clock_gettime sys_clock_gettime32 276 + 266 common clock_getres sys_clock_getres_time32 277 + 267 common clock_nanosleep sys_clock_nanosleep_time32 278 278 268 common statfs64 sys_statfs64 279 279 269 common fstatfs64 sys_fstatfs64 280 280 270 common tgkill sys_tgkill 281 - 271 common utimes sys_utimes 281 + 271 common utimes sys_utimes_time32 282 282 272 common fadvise64_64 sys_fadvise64_64 283 283 273 common vserver sys_ni_syscall 284 284 274 common mbind sys_mbind ··· 286 286 276 common set_mempolicy sys_set_mempolicy 287 287 277 common mq_open sys_mq_open 288 288 278 common mq_unlink sys_mq_unlink 289 - 279 common mq_timedsend sys_mq_timedsend 290 - 280 common mq_timedreceive sys_mq_timedreceive 289 + 279 common mq_timedsend sys_mq_timedsend_time32 290 + 280 common mq_timedreceive sys_mq_timedreceive_time32 291 291 281 common mq_notify sys_mq_notify 292 292 282 common mq_getsetattr sys_mq_getsetattr 293 293 283 common kexec_load sys_kexec_load ··· 306 306 296 common mkdirat sys_mkdirat 307 307 297 common mknodat sys_mknodat 308 308 298 common fchownat sys_fchownat 309 - 299 common futimesat sys_futimesat 309 + 299 common futimesat sys_futimesat_time32 310 310 300 common fstatat64 sys_fstatat64 311 311 301 common unlinkat sys_unlinkat 312 312 302 common renameat sys_renameat ··· 315 315 305 common readlinkat sys_readlinkat 316 316 306 common fchmodat sys_fchmodat 317 317 307 common faccessat sys_faccessat 318 - 308 common pselect6 sys_pselect6 319 - 309 common ppoll sys_ppoll 318 + 308 common pselect6 sys_pselect6_time32 319 + 309 common ppoll sys_ppoll_time32 320 320 310 common unshare sys_unshare 321 321 311 common set_robust_list sys_set_robust_list 322 322 312 common get_robust_list sys_get_robust_list ··· 327 327 317 common move_pages sys_move_pages 328 328 318 common getcpu sys_getcpu 329 329 319 common epoll_pwait sys_epoll_pwait 330 - 320 common utimensat sys_utimensat 330 + 320 common utimensat sys_utimensat_time32 331 331 321 common signalfd sys_signalfd 332 332 322 common timerfd_create sys_timerfd_create 333 333 323 common eventfd sys_eventfd 334 334 324 common fallocate sys_fallocate 335 - 325 common semtimedop sys_semtimedop 336 - 326 common timerfd_settime sys_timerfd_settime 337 - 327 common timerfd_gettime sys_timerfd_gettime 338 - 328 common semctl sys_semctl 335 + 325 common semtimedop sys_semtimedop_time32 336 + 326 common timerfd_settime sys_timerfd_settime32 337 + 327 common timerfd_gettime sys_timerfd_gettime32 338 + 328 common semctl sys_old_semctl 339 339 329 common semget sys_semget 340 340 330 common semop sys_semop 341 - 331 common msgctl sys_msgctl 341 + 331 common msgctl sys_old_msgctl 342 342 332 common msgget sys_msgget 343 343 333 common msgrcv sys_msgrcv 344 344 334 common msgsnd sys_msgsnd 345 345 335 common shmat sys_shmat 346 - 336 common shmctl sys_shmctl 346 + 336 common shmctl sys_old_shmctl 347 347 337 common shmdt sys_shmdt 348 348 338 common shmget sys_shmget 349 349 339 common signalfd4 sys_signalfd4 ··· 374 374 364 common pwritev sys_pwritev 375 375 365 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo 376 376 366 common perf_event_open sys_perf_event_open 377 - 367 common recvmmsg sys_recvmmsg 377 + 367 common recvmmsg sys_recvmmsg_time32 378 378 368 common fanotify_init sys_fanotify_init 379 379 369 common fanotify_mark sys_fanotify_mark 380 380 370 common prlimit64 sys_prlimit64 381 381 371 common name_to_handle_at sys_name_to_handle_at 382 382 372 common open_by_handle_at sys_open_by_handle_at 383 - 373 common clock_adjtime sys_clock_adjtime 383 + 373 common clock_adjtime sys_clock_adjtime32 384 384 374 common syncfs sys_syncfs 385 385 375 common setns sys_setns 386 386 376 common sendmmsg sys_sendmmsg ··· 406 406 396 common pkey_alloc sys_pkey_alloc 407 407 397 common pkey_free sys_pkey_free 408 408 398 common statx sys_statx 409 - 399 common io_pgetevents sys_io_pgetevents 409 + 399 common io_pgetevents sys_io_pgetevents_time32 410 410 400 common rseq sys_rseq 411 + # 401 and 402 are unused 412 + 403 common clock_gettime64 sys_clock_gettime 413 + 404 common clock_settime64 sys_clock_settime 414 + 405 common clock_adjtime64 sys_clock_adjtime 415 + 406 common clock_getres_time64 sys_clock_getres 416 + 407 common clock_nanosleep_time64 sys_clock_nanosleep 417 + 408 common timer_gettime64 sys_timer_gettime 418 + 409 common timer_settime64 sys_timer_settime 419 + 410 common timerfd_gettime64 sys_timerfd_gettime 420 + 411 common timerfd_settime64 sys_timerfd_settime 421 + 412 common utimensat_time64 sys_utimensat 422 + 413 common pselect6_time64 sys_pselect6 423 + 414 common ppoll_time64 sys_ppoll 424 + 416 common io_pgetevents_time64 sys_io_pgetevents 425 + 417 common recvmmsg_time64 sys_recvmmsg 426 + 418 common mq_timedsend_time64 sys_mq_timedsend 427 + 419 common mq_timedreceive_time64 sys_mq_timedreceive 428 + 420 common semtimedop_time64 sys_semtimedop 429 + 421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait 430 + 422 common futex_time64 sys_futex 431 + 423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
+1
arch/mips/Kconfig
··· 2 2 config MIPS 3 3 bool 4 4 default y 5 + select ARCH_32BIT_OFF_T if !64BIT 5 6 select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT 6 7 select ARCH_CLOCKSOURCE_DATA 7 8 select ARCH_DISCARD_MEMBLOCK
+2 -15
arch/mips/include/asm/unistd.h
··· 45 45 #define __ARCH_WANT_SYS_SIGPROCMASK 46 46 # ifdef CONFIG_32BIT 47 47 # define __ARCH_WANT_STAT64 48 - # define __ARCH_WANT_SYS_TIME 48 + # define __ARCH_WANT_SYS_TIME32 49 49 # endif 50 50 # ifdef CONFIG_MIPS32_O32 51 - # define __ARCH_WANT_COMPAT_SYS_TIME 51 + # define __ARCH_WANT_SYS_TIME32 52 52 # endif 53 53 #define __ARCH_WANT_SYS_FORK 54 54 #define __ARCH_WANT_SYS_CLONE 55 55 56 56 /* whitelists for checksyscalls */ 57 - #define __IGNORE_select 58 - #define __IGNORE_vfork 59 - #define __IGNORE_time 60 - #define __IGNORE_uselib 61 57 #define __IGNORE_fadvise64_64 62 - #define __IGNORE_getdents64 63 - #if _MIPS_SIM == _MIPS_SIM_NABI32 64 - #define __IGNORE_truncate64 65 - #define __IGNORE_ftruncate64 66 - #define __IGNORE_stat64 67 - #define __IGNORE_lstat64 68 - #define __IGNORE_fstat64 69 - #define __IGNORE_fstatat64 70 - #endif 71 58 72 59 #endif /* !__ASSEMBLY__ */ 73 60
+49 -28
arch/mips/kernel/syscalls/syscall_n32.tbl
··· 37 37 27 n32 madvise sys_madvise 38 38 28 n32 shmget sys_shmget 39 39 29 n32 shmat sys_shmat 40 - 30 n32 shmctl compat_sys_shmctl 40 + 30 n32 shmctl compat_sys_old_shmctl 41 41 31 n32 dup sys_dup 42 42 32 n32 dup2 sys_dup2 43 43 33 n32 pause sys_pause 44 - 34 n32 nanosleep compat_sys_nanosleep 44 + 34 n32 nanosleep sys_nanosleep_time32 45 45 35 n32 getitimer compat_sys_getitimer 46 46 36 n32 setitimer compat_sys_setitimer 47 47 37 n32 alarm sys_alarm ··· 71 71 61 n32 uname sys_newuname 72 72 62 n32 semget sys_semget 73 73 63 n32 semop sys_semop 74 - 64 n32 semctl compat_sys_semctl 74 + 64 n32 semctl compat_sys_old_semctl 75 75 65 n32 shmdt sys_shmdt 76 76 66 n32 msgget sys_msgget 77 77 67 n32 msgsnd compat_sys_msgsnd 78 78 68 n32 msgrcv compat_sys_msgrcv 79 - 69 n32 msgctl compat_sys_msgctl 79 + 69 n32 msgctl compat_sys_old_msgctl 80 80 70 n32 fcntl compat_sys_fcntl 81 81 71 n32 flock sys_flock 82 82 72 n32 fsync sys_fsync ··· 133 133 123 n32 capget sys_capget 134 134 124 n32 capset sys_capset 135 135 125 n32 rt_sigpending compat_sys_rt_sigpending 136 - 126 n32 rt_sigtimedwait compat_sys_rt_sigtimedwait 136 + 126 n32 rt_sigtimedwait compat_sys_rt_sigtimedwait_time32 137 137 127 n32 rt_sigqueueinfo compat_sys_rt_sigqueueinfo 138 138 128 n32 rt_sigsuspend compat_sys_rt_sigsuspend 139 139 129 n32 sigaltstack compat_sys_sigaltstack 140 - 130 n32 utime compat_sys_utime 140 + 130 n32 utime sys_utime32 141 141 131 n32 mknod sys_mknod 142 142 132 n32 personality sys_32_personality 143 143 133 n32 ustat compat_sys_ustat ··· 152 152 142 n32 sched_getscheduler sys_sched_getscheduler 153 153 143 n32 sched_get_priority_max sys_sched_get_priority_max 154 154 144 n32 sched_get_priority_min sys_sched_get_priority_min 155 - 145 n32 sched_rr_get_interval compat_sys_sched_rr_get_interval 155 + 145 n32 sched_rr_get_interval sys_sched_rr_get_interval_time32 156 156 146 n32 mlock sys_mlock 157 157 147 n32 munlock sys_munlock 158 158 148 n32 mlockall sys_mlockall ··· 161 161 151 n32 pivot_root sys_pivot_root 162 162 152 n32 _sysctl compat_sys_sysctl 163 163 153 n32 prctl sys_prctl 164 - 154 n32 adjtimex compat_sys_adjtimex 164 + 154 n32 adjtimex sys_adjtimex_time32 165 165 155 n32 setrlimit compat_sys_setrlimit 166 166 156 n32 chroot sys_chroot 167 167 157 n32 sync sys_sync ··· 202 202 191 n32 fremovexattr sys_fremovexattr 203 203 192 n32 tkill sys_tkill 204 204 193 n32 reserved193 sys_ni_syscall 205 - 194 n32 futex compat_sys_futex 205 + 194 n32 futex sys_futex_time32 206 206 195 n32 sched_setaffinity compat_sys_sched_setaffinity 207 207 196 n32 sched_getaffinity compat_sys_sched_getaffinity 208 208 197 n32 cacheflush sys_cacheflush ··· 210 210 199 n32 sysmips __sys_sysmips 211 211 200 n32 io_setup compat_sys_io_setup 212 212 201 n32 io_destroy sys_io_destroy 213 - 202 n32 io_getevents compat_sys_io_getevents 213 + 202 n32 io_getevents sys_io_getevents_time32 214 214 203 n32 io_submit compat_sys_io_submit 215 215 204 n32 io_cancel sys_io_cancel 216 216 205 n32 exit_group sys_exit_group ··· 223 223 212 n32 fcntl64 compat_sys_fcntl64 224 224 213 n32 set_tid_address sys_set_tid_address 225 225 214 n32 restart_syscall sys_restart_syscall 226 - 215 n32 semtimedop compat_sys_semtimedop 226 + 215 n32 semtimedop sys_semtimedop_time32 227 227 216 n32 fadvise64 sys_fadvise64_64 228 228 217 n32 statfs64 compat_sys_statfs64 229 229 218 n32 fstatfs64 compat_sys_fstatfs64 230 230 219 n32 sendfile64 sys_sendfile64 231 231 220 n32 timer_create compat_sys_timer_create 232 - 221 n32 timer_settime compat_sys_timer_settime 233 - 222 n32 timer_gettime compat_sys_timer_gettime 232 + 221 n32 timer_settime sys_timer_settime32 233 + 222 n32 timer_gettime sys_timer_gettime32 234 234 223 n32 timer_getoverrun sys_timer_getoverrun 235 235 224 n32 timer_delete sys_timer_delete 236 - 225 n32 clock_settime compat_sys_clock_settime 237 - 226 n32 clock_gettime compat_sys_clock_gettime 238 - 227 n32 clock_getres compat_sys_clock_getres 239 - 228 n32 clock_nanosleep compat_sys_clock_nanosleep 236 + 225 n32 clock_settime sys_clock_settime32 237 + 226 n32 clock_gettime sys_clock_gettime32 238 + 227 n32 clock_getres sys_clock_getres_time32 239 + 228 n32 clock_nanosleep sys_clock_nanosleep_time32 240 240 229 n32 tgkill sys_tgkill 241 - 230 n32 utimes compat_sys_utimes 241 + 230 n32 utimes sys_utimes_time32 242 242 231 n32 mbind compat_sys_mbind 243 243 232 n32 get_mempolicy compat_sys_get_mempolicy 244 244 233 n32 set_mempolicy compat_sys_set_mempolicy 245 245 234 n32 mq_open compat_sys_mq_open 246 246 235 n32 mq_unlink sys_mq_unlink 247 - 236 n32 mq_timedsend compat_sys_mq_timedsend 248 - 237 n32 mq_timedreceive compat_sys_mq_timedreceive 247 + 236 n32 mq_timedsend sys_mq_timedsend_time32 248 + 237 n32 mq_timedreceive sys_mq_timedreceive_time32 249 249 238 n32 mq_notify compat_sys_mq_notify 250 250 239 n32 mq_getsetattr compat_sys_mq_getsetattr 251 251 240 n32 vserver sys_ni_syscall ··· 263 263 252 n32 mkdirat sys_mkdirat 264 264 253 n32 mknodat sys_mknodat 265 265 254 n32 fchownat sys_fchownat 266 - 255 n32 futimesat compat_sys_futimesat 266 + 255 n32 futimesat sys_futimesat_time32 267 267 256 n32 newfstatat sys_newfstatat 268 268 257 n32 unlinkat sys_unlinkat 269 269 258 n32 renameat sys_renameat ··· 272 272 261 n32 readlinkat sys_readlinkat 273 273 262 n32 fchmodat sys_fchmodat 274 274 263 n32 faccessat sys_faccessat 275 - 264 n32 pselect6 compat_sys_pselect6 276 - 265 n32 ppoll compat_sys_ppoll 275 + 264 n32 pselect6 compat_sys_pselect6_time32 276 + 265 n32 ppoll compat_sys_ppoll_time32 277 277 266 n32 unshare sys_unshare 278 278 267 n32 splice sys_splice 279 279 268 n32 sync_file_range sys_sync_file_range ··· 287 287 276 n32 epoll_pwait compat_sys_epoll_pwait 288 288 277 n32 ioprio_set sys_ioprio_set 289 289 278 n32 ioprio_get sys_ioprio_get 290 - 279 n32 utimensat compat_sys_utimensat 290 + 279 n32 utimensat sys_utimensat_time32 291 291 280 n32 signalfd compat_sys_signalfd 292 292 281 n32 timerfd sys_ni_syscall 293 293 282 n32 eventfd sys_eventfd 294 294 283 n32 fallocate sys_fallocate 295 295 284 n32 timerfd_create sys_timerfd_create 296 - 285 n32 timerfd_gettime compat_sys_timerfd_gettime 297 - 286 n32 timerfd_settime compat_sys_timerfd_settime 296 + 285 n32 timerfd_gettime sys_timerfd_gettime32 297 + 286 n32 timerfd_settime sys_timerfd_settime32 298 298 287 n32 signalfd4 compat_sys_signalfd4 299 299 288 n32 eventfd2 sys_eventfd2 300 300 289 n32 epoll_create1 sys_epoll_create1 ··· 306 306 295 n32 rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo 307 307 296 n32 perf_event_open sys_perf_event_open 308 308 297 n32 accept4 sys_accept4 309 - 298 n32 recvmmsg compat_sys_recvmmsg 309 + 298 n32 recvmmsg compat_sys_recvmmsg_time32 310 310 299 n32 getdents64 sys_getdents64 311 311 300 n32 fanotify_init sys_fanotify_init 312 312 301 n32 fanotify_mark sys_fanotify_mark 313 313 302 n32 prlimit64 sys_prlimit64 314 314 303 n32 name_to_handle_at sys_name_to_handle_at 315 315 304 n32 open_by_handle_at sys_open_by_handle_at 316 - 305 n32 clock_adjtime compat_sys_clock_adjtime 316 + 305 n32 clock_adjtime sys_clock_adjtime32 317 317 306 n32 syncfs sys_syncfs 318 318 307 n32 sendmmsg compat_sys_sendmmsg 319 319 308 n32 setns sys_setns ··· 341 341 330 n32 statx sys_statx 342 342 331 n32 rseq sys_rseq 343 343 332 n32 io_pgetevents compat_sys_io_pgetevents 344 + # 333 through 402 are unassigned to sync up with generic numbers 345 + 403 n32 clock_gettime64 sys_clock_gettime 346 + 404 n32 clock_settime64 sys_clock_settime 347 + 405 n32 clock_adjtime64 sys_clock_adjtime 348 + 406 n32 clock_getres_time64 sys_clock_getres 349 + 407 n32 clock_nanosleep_time64 sys_clock_nanosleep 350 + 408 n32 timer_gettime64 sys_timer_gettime 351 + 409 n32 timer_settime64 sys_timer_settime 352 + 410 n32 timerfd_gettime64 sys_timerfd_gettime 353 + 411 n32 timerfd_settime64 sys_timerfd_settime 354 + 412 n32 utimensat_time64 sys_utimensat 355 + 413 n32 pselect6_time64 compat_sys_pselect6_time64 356 + 414 n32 ppoll_time64 compat_sys_ppoll_time64 357 + 416 n32 io_pgetevents_time64 sys_io_pgetevents 358 + 417 n32 recvmmsg_time64 compat_sys_recvmmsg_time64 359 + 418 n32 mq_timedsend_time64 sys_mq_timedsend 360 + 419 n32 mq_timedreceive_time64 sys_mq_timedreceive 361 + 420 n32 semtimedop_time64 sys_semtimedop 362 + 421 n32 rt_sigtimedwait_time64 compat_sys_rt_sigtimedwait_time64 363 + 422 n32 futex_time64 sys_futex 364 + 423 n32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
+4 -3
arch/mips/kernel/syscalls/syscall_n64.tbl
··· 37 37 27 n64 madvise sys_madvise 38 38 28 n64 shmget sys_shmget 39 39 29 n64 shmat sys_shmat 40 - 30 n64 shmctl sys_shmctl 40 + 30 n64 shmctl sys_old_shmctl 41 41 31 n64 dup sys_dup 42 42 32 n64 dup2 sys_dup2 43 43 33 n64 pause sys_pause ··· 71 71 61 n64 uname sys_newuname 72 72 62 n64 semget sys_semget 73 73 63 n64 semop sys_semop 74 - 64 n64 semctl sys_semctl 74 + 64 n64 semctl sys_old_semctl 75 75 65 n64 shmdt sys_shmdt 76 76 66 n64 msgget sys_msgget 77 77 67 n64 msgsnd sys_msgsnd 78 78 68 n64 msgrcv sys_msgrcv 79 - 69 n64 msgctl sys_msgctl 79 + 69 n64 msgctl sys_old_msgctl 80 80 70 n64 fcntl sys_fcntl 81 81 71 n64 flock sys_flock 82 82 72 n64 fsync sys_fsync ··· 337 337 326 n64 statx sys_statx 338 338 327 n64 rseq sys_rseq 339 339 328 n64 io_pgetevents sys_io_pgetevents 340 + # 329 through 423 are reserved to sync up with other architectures
+58 -27
arch/mips/kernel/syscalls/syscall_o32.tbl
··· 20 20 10 o32 unlink sys_unlink 21 21 11 o32 execve sys_execve compat_sys_execve 22 22 12 o32 chdir sys_chdir 23 - 13 o32 time sys_time compat_sys_time 23 + 13 o32 time sys_time32 24 24 14 o32 mknod sys_mknod 25 25 15 o32 chmod sys_chmod 26 26 16 o32 lchown sys_lchown ··· 33 33 22 o32 umount sys_oldumount 34 34 23 o32 setuid sys_setuid 35 35 24 o32 getuid sys_getuid 36 - 25 o32 stime sys_stime compat_sys_stime 36 + 25 o32 stime sys_stime32 37 37 26 o32 ptrace sys_ptrace compat_sys_ptrace 38 38 27 o32 alarm sys_alarm 39 39 # 28 was sys_fstat 40 40 28 o32 unused28 sys_ni_syscall 41 41 29 o32 pause sys_pause 42 - 30 o32 utime sys_utime compat_sys_utime 42 + 30 o32 utime sys_utime32 43 43 31 o32 stty sys_ni_syscall 44 44 32 o32 gtty sys_ni_syscall 45 45 33 o32 access sys_access ··· 135 135 121 o32 setdomainname sys_setdomainname 136 136 122 o32 uname sys_newuname 137 137 123 o32 modify_ldt sys_ni_syscall 138 - 124 o32 adjtimex sys_adjtimex compat_sys_adjtimex 138 + 124 o32 adjtimex sys_adjtimex_time32 139 139 125 o32 mprotect sys_mprotect 140 140 126 o32 sigprocmask sys_sigprocmask compat_sys_sigprocmask 141 141 127 o32 create_module sys_ni_syscall ··· 176 176 162 o32 sched_yield sys_sched_yield 177 177 163 o32 sched_get_priority_max sys_sched_get_priority_max 178 178 164 o32 sched_get_priority_min sys_sched_get_priority_min 179 - 165 o32 sched_rr_get_interval sys_sched_rr_get_interval compat_sys_sched_rr_get_interval 180 - 166 o32 nanosleep sys_nanosleep compat_sys_nanosleep 179 + 165 o32 sched_rr_get_interval sys_sched_rr_get_interval_time32 180 + 166 o32 nanosleep sys_nanosleep_time32 181 181 167 o32 mremap sys_mremap 182 182 168 o32 accept sys_accept 183 183 169 o32 bind sys_bind ··· 208 208 194 o32 rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction 209 209 195 o32 rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask 210 210 196 o32 rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending 211 - 197 o32 rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait 211 + 197 o32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32 212 212 198 o32 rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo 213 213 199 o32 rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend 214 214 200 o32 pread64 sys_pread64 sys_32_pread ··· 249 249 235 o32 fremovexattr sys_fremovexattr 250 250 236 o32 tkill sys_tkill 251 251 237 o32 sendfile64 sys_sendfile64 252 - 238 o32 futex sys_futex compat_sys_futex 252 + 238 o32 futex sys_futex_time32 253 253 239 o32 sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity 254 254 240 o32 sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity 255 255 241 o32 io_setup sys_io_setup compat_sys_io_setup 256 256 242 o32 io_destroy sys_io_destroy 257 - 243 o32 io_getevents sys_io_getevents compat_sys_io_getevents 257 + 243 o32 io_getevents sys_io_getevents_time32 258 258 244 o32 io_submit sys_io_submit compat_sys_io_submit 259 259 245 o32 io_cancel sys_io_cancel 260 260 246 o32 exit_group sys_exit_group ··· 269 269 255 o32 statfs64 sys_statfs64 compat_sys_statfs64 270 270 256 o32 fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 271 271 257 o32 timer_create sys_timer_create compat_sys_timer_create 272 - 258 o32 timer_settime sys_timer_settime compat_sys_timer_settime 273 - 259 o32 timer_gettime sys_timer_gettime compat_sys_timer_gettime 272 + 258 o32 timer_settime sys_timer_settime32 273 + 259 o32 timer_gettime sys_timer_gettime32 274 274 260 o32 timer_getoverrun sys_timer_getoverrun 275 275 261 o32 timer_delete sys_timer_delete 276 - 262 o32 clock_settime sys_clock_settime compat_sys_clock_settime 277 - 263 o32 clock_gettime sys_clock_gettime compat_sys_clock_gettime 278 - 264 o32 clock_getres sys_clock_getres compat_sys_clock_getres 279 - 265 o32 clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep 276 + 262 o32 clock_settime sys_clock_settime32 277 + 263 o32 clock_gettime sys_clock_gettime32 278 + 264 o32 clock_getres sys_clock_getres_time32 279 + 265 o32 clock_nanosleep sys_clock_nanosleep_time32 280 280 266 o32 tgkill sys_tgkill 281 - 267 o32 utimes sys_utimes compat_sys_utimes 281 + 267 o32 utimes sys_utimes_time32 282 282 268 o32 mbind sys_mbind compat_sys_mbind 283 283 269 o32 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy 284 284 270 o32 set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy 285 285 271 o32 mq_open sys_mq_open compat_sys_mq_open 286 286 272 o32 mq_unlink sys_mq_unlink 287 - 273 o32 mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend 288 - 274 o32 mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive 287 + 273 o32 mq_timedsend sys_mq_timedsend_time32 288 + 274 o32 mq_timedreceive sys_mq_timedreceive_time32 289 289 275 o32 mq_notify sys_mq_notify compat_sys_mq_notify 290 290 276 o32 mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr 291 291 277 o32 vserver sys_ni_syscall ··· 303 303 289 o32 mkdirat sys_mkdirat 304 304 290 o32 mknodat sys_mknodat 305 305 291 o32 fchownat sys_fchownat 306 - 292 o32 futimesat sys_futimesat compat_sys_futimesat 306 + 292 o32 futimesat sys_futimesat_time32 307 307 293 o32 fstatat64 sys_fstatat64 sys_newfstatat 308 308 294 o32 unlinkat sys_unlinkat 309 309 295 o32 renameat sys_renameat ··· 312 312 298 o32 readlinkat sys_readlinkat 313 313 299 o32 fchmodat sys_fchmodat 314 314 300 o32 faccessat sys_faccessat 315 - 301 o32 pselect6 sys_pselect6 compat_sys_pselect6 316 - 302 o32 ppoll sys_ppoll compat_sys_ppoll 315 + 301 o32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32 316 + 302 o32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32 317 317 303 o32 unshare sys_unshare 318 318 304 o32 splice sys_splice 319 319 305 o32 sync_file_range sys_sync_file_range sys32_sync_file_range ··· 327 327 313 o32 epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait 328 328 314 o32 ioprio_set sys_ioprio_set 329 329 315 o32 ioprio_get sys_ioprio_get 330 - 316 o32 utimensat sys_utimensat compat_sys_utimensat 330 + 316 o32 utimensat sys_utimensat_time32 331 331 317 o32 signalfd sys_signalfd compat_sys_signalfd 332 332 318 o32 timerfd sys_ni_syscall 333 333 319 o32 eventfd sys_eventfd 334 334 320 o32 fallocate sys_fallocate sys32_fallocate 335 335 321 o32 timerfd_create sys_timerfd_create 336 - 322 o32 timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime 337 - 323 o32 timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime 336 + 322 o32 timerfd_gettime sys_timerfd_gettime32 337 + 323 o32 timerfd_settime sys_timerfd_settime32 338 338 324 o32 signalfd4 sys_signalfd4 compat_sys_signalfd4 339 339 325 o32 eventfd2 sys_eventfd2 340 340 326 o32 epoll_create1 sys_epoll_create1 ··· 346 346 332 o32 rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo 347 347 333 o32 perf_event_open sys_perf_event_open 348 348 334 o32 accept4 sys_accept4 349 - 335 o32 recvmmsg sys_recvmmsg compat_sys_recvmmsg 349 + 335 o32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32 350 350 336 o32 fanotify_init sys_fanotify_init 351 351 337 o32 fanotify_mark sys_fanotify_mark compat_sys_fanotify_mark 352 352 338 o32 prlimit64 sys_prlimit64 353 353 339 o32 name_to_handle_at sys_name_to_handle_at 354 354 340 o32 open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at 355 - 341 o32 clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime 355 + 341 o32 clock_adjtime sys_clock_adjtime32 356 356 342 o32 syncfs sys_syncfs 357 357 343 o32 sendmmsg sys_sendmmsg compat_sys_sendmmsg 358 358 344 o32 setns sys_setns ··· 379 379 365 o32 pkey_free sys_pkey_free 380 380 366 o32 statx sys_statx 381 381 367 o32 rseq sys_rseq 382 - 368 o32 io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents 382 + 368 o32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents 383 + # room for arch specific calls 384 + 393 o32 semget sys_semget 385 + 394 o32 semctl sys_semctl compat_sys_semctl 386 + 395 o32 shmget sys_shmget 387 + 396 o32 shmctl sys_shmctl compat_sys_shmctl 388 + 397 o32 shmat sys_shmat compat_sys_shmat 389 + 398 o32 shmdt sys_shmdt 390 + 399 o32 msgget sys_msgget 391 + 400 o32 msgsnd sys_msgsnd compat_sys_msgsnd 392 + 401 o32 msgrcv sys_msgrcv compat_sys_msgrcv 393 + 402 o32 msgctl sys_msgctl compat_sys_msgctl 394 + 403 o32 clock_gettime64 sys_clock_gettime sys_clock_gettime 395 + 404 o32 clock_settime64 sys_clock_settime sys_clock_settime 396 + 405 o32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime 397 + 406 o32 clock_getres_time64 sys_clock_getres sys_clock_getres 398 + 407 o32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep 399 + 408 o32 timer_gettime64 sys_timer_gettime sys_timer_gettime 400 + 409 o32 timer_settime64 sys_timer_settime sys_timer_settime 401 + 410 o32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime 402 + 411 o32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime 403 + 412 o32 utimensat_time64 sys_utimensat sys_utimensat 404 + 413 o32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64 405 + 414 o32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64 406 + 416 o32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents 407 + 417 o32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64 408 + 418 o32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend 409 + 419 o32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive 410 + 420 o32 semtimedop_time64 sys_semtimedop sys_semtimedop 411 + 421 o32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64 412 + 422 o32 futex_time64 sys_futex sys_futex 413 + 423 o32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
+1
arch/nds32/Kconfig
··· 5 5 6 6 config NDS32 7 7 def_bool y 8 + select ARCH_32BIT_OFF_T 8 9 select ARCH_HAS_SYNC_DMA_FOR_CPU 9 10 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 10 11 select ARCH_WANT_FRAME_POINTERS if FTRACE
+2
arch/nds32/include/uapi/asm/unistd.h
··· 3 3 4 4 #define __ARCH_WANT_STAT64 5 5 #define __ARCH_WANT_SYNC_FILE_RANGE2 6 + #define __ARCH_WANT_SET_GET_RLIMIT 7 + #define __ARCH_WANT_TIME32_SYSCALLS 6 8 7 9 /* Use the standard ABI for syscalls */ 8 10 #include <asm-generic/unistd.h>
+1
arch/nios2/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 config NIOS2 3 3 def_bool y 4 + select ARCH_32BIT_OFF_T 4 5 select ARCH_HAS_SYNC_DMA_FOR_CPU 5 6 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 6 7 select ARCH_NO_SWAP
+2
arch/nios2/include/uapi/asm/unistd.h
··· 20 20 21 21 #define __ARCH_WANT_RENAMEAT 22 22 #define __ARCH_WANT_STAT64 23 + #define __ARCH_WANT_SET_GET_RLIMIT 24 + #define __ARCH_WANT_TIME32_SYSCALLS 23 25 24 26 /* Use the standard ABI for syscalls */ 25 27 #include <asm-generic/unistd.h>
+1
arch/openrisc/Kconfig
··· 6 6 7 7 config OPENRISC 8 8 def_bool y 9 + select ARCH_32BIT_OFF_T 9 10 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 10 11 select OF 11 12 select OF_EARLY_FLATTREE
+2
arch/openrisc/include/uapi/asm/unistd.h
··· 21 21 22 22 #define __ARCH_WANT_RENAMEAT 23 23 #define __ARCH_WANT_STAT64 24 + #define __ARCH_WANT_SET_GET_RLIMIT 24 25 #define __ARCH_WANT_SYS_FORK 25 26 #define __ARCH_WANT_SYS_CLONE 27 + #define __ARCH_WANT_TIME32_SYSCALLS 26 28 27 29 #include <asm-generic/unistd.h> 28 30
+1
arch/parisc/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 config PARISC 3 3 def_bool y 4 + select ARCH_32BIT_OFF_T if !64BIT 4 5 select ARCH_MIGHT_HAVE_PC_PARPORT 5 6 select HAVE_IDE 6 7 select HAVE_OPROFILE
+6 -7
arch/parisc/include/asm/unistd.h
··· 10 10 11 11 #define SYS_ify(syscall_name) __NR_##syscall_name 12 12 13 - #define __IGNORE_select /* newselect */ 14 13 #define __IGNORE_fadvise64 /* fadvise64_64 */ 15 - #define __IGNORE_pkey_mprotect 16 - #define __IGNORE_pkey_alloc 17 - #define __IGNORE_pkey_free 18 14 19 15 #ifndef ASM_LINE_SEP 20 16 # define ASM_LINE_SEP ; ··· 152 156 #define __ARCH_WANT_SYS_GETHOSTNAME 153 157 #define __ARCH_WANT_SYS_PAUSE 154 158 #define __ARCH_WANT_SYS_SIGNAL 155 - #define __ARCH_WANT_SYS_TIME 156 - #define __ARCH_WANT_COMPAT_SYS_TIME 159 + #define __ARCH_WANT_SYS_TIME32 157 160 #define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL 158 - #define __ARCH_WANT_SYS_UTIME 159 161 #define __ARCH_WANT_SYS_UTIME32 160 162 #define __ARCH_WANT_SYS_WAITPID 161 163 #define __ARCH_WANT_SYS_SOCKETCALL ··· 167 173 #define __ARCH_WANT_SYS_VFORK 168 174 #define __ARCH_WANT_SYS_CLONE 169 175 #define __ARCH_WANT_COMPAT_SYS_SENDFILE 176 + 177 + #ifdef CONFIG_64BIT 178 + #define __ARCH_WANT_SYS_TIME 179 + #define __ARCH_WANT_SYS_UTIME 180 + #endif 170 181 171 182 #endif /* __ASSEMBLY__ */ 172 183
+81 -28
arch/parisc/kernel/syscalls/syscall.tbl
··· 20 20 10 common unlink sys_unlink 21 21 11 common execve sys_execve compat_sys_execve 22 22 12 common chdir sys_chdir 23 - 13 common time sys_time compat_sys_time 23 + 13 32 time sys_time32 24 + 13 64 time sys_time 24 25 14 common mknod sys_mknod 25 26 15 common chmod sys_chmod 26 27 16 common lchown sys_lchown ··· 33 32 22 common bind sys_bind 34 33 23 common setuid sys_setuid 35 34 24 common getuid sys_getuid 36 - 25 common stime sys_stime compat_sys_stime 35 + 25 32 stime sys_stime32 36 + 25 64 stime sys_stime 37 37 26 common ptrace sys_ptrace compat_sys_ptrace 38 38 27 common alarm sys_alarm 39 39 28 common fstat sys_newfstat compat_sys_newfstat 40 40 29 common pause sys_pause 41 - 30 common utime sys_utime compat_sys_utime 41 + 30 32 utime sys_utime32 42 + 30 64 utime sys_utime 42 43 31 common connect sys_connect 43 44 32 common listen sys_listen 44 45 33 common access sys_access ··· 136 133 121 common setdomainname sys_setdomainname 137 134 122 common sendfile sys_sendfile compat_sys_sendfile 138 135 123 common recvfrom sys_recvfrom 139 - 124 common adjtimex sys_adjtimex compat_sys_adjtimex 136 + 124 32 adjtimex sys_adjtimex_time32 137 + 124 64 adjtimex sys_adjtimex 140 138 125 common mprotect sys_mprotect 141 139 126 common sigprocmask sys_sigprocmask compat_sys_sigprocmask 142 140 # 127 was create_module ··· 175 171 158 common sched_yield sys_sched_yield 176 172 159 common sched_get_priority_max sys_sched_get_priority_max 177 173 160 common sched_get_priority_min sys_sched_get_priority_min 178 - 161 common sched_rr_get_interval sys_sched_rr_get_interval compat_sys_sched_rr_get_interval 179 - 162 common nanosleep sys_nanosleep compat_sys_nanosleep 174 + 161 32 sched_rr_get_interval sys_sched_rr_get_interval_time32 175 + 161 64 sched_rr_get_interval sys_sched_rr_get_interval 176 + 162 32 nanosleep sys_nanosleep_time32 177 + 162 64 nanosleep sys_nanosleep 180 178 163 common mremap sys_mremap 181 179 164 common setresuid sys_setresuid 182 180 165 common getresuid sys_getresuid ··· 193 187 174 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction 194 188 175 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask 195 189 176 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending 196 - 177 common rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait 190 + 177 32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32 191 + 177 64 rt_sigtimedwait sys_rt_sigtimedwait 197 192 178 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo 198 193 179 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend 199 194 180 common chown sys_chown ··· 230 223 207 64 readahead sys_readahead 231 224 208 common tkill sys_tkill 232 225 209 common sendfile64 sys_sendfile64 compat_sys_sendfile64 233 - 210 common futex sys_futex compat_sys_futex 226 + 210 32 futex sys_futex_time32 227 + 210 64 futex sys_futex 234 228 211 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity 235 229 212 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity 236 230 # 213 was set_thread_area 237 231 # 214 was get_thread_area 238 232 215 common io_setup sys_io_setup compat_sys_io_setup 239 233 216 common io_destroy sys_io_destroy 240 - 217 common io_getevents sys_io_getevents compat_sys_io_getevents 234 + 217 32 io_getevents sys_io_getevents_time32 235 + 217 64 io_getevents sys_io_getevents 241 236 218 common io_submit sys_io_submit compat_sys_io_submit 242 237 219 common io_cancel sys_io_cancel 243 238 # 220 was alloc_hugepages ··· 250 241 225 common epoll_ctl sys_epoll_ctl 251 242 226 common epoll_wait sys_epoll_wait 252 243 227 common remap_file_pages sys_remap_file_pages 253 - 228 common semtimedop sys_semtimedop compat_sys_semtimedop 244 + 228 32 semtimedop sys_semtimedop_time32 245 + 228 64 semtimedop sys_semtimedop 254 246 229 common mq_open sys_mq_open compat_sys_mq_open 255 247 230 common mq_unlink sys_mq_unlink 256 - 231 common mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend 257 - 232 common mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive 248 + 231 32 mq_timedsend sys_mq_timedsend_time32 249 + 231 64 mq_timedsend sys_mq_timedsend 250 + 232 32 mq_timedreceive sys_mq_timedreceive_time32 251 + 232 64 mq_timedreceive sys_mq_timedreceive 258 252 233 common mq_notify sys_mq_notify compat_sys_mq_notify 259 253 234 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr 260 254 235 common waitid sys_waitid compat_sys_waitid ··· 277 265 248 common lremovexattr sys_lremovexattr 278 266 249 common fremovexattr sys_fremovexattr 279 267 250 common timer_create sys_timer_create compat_sys_timer_create 280 - 251 common timer_settime sys_timer_settime compat_sys_timer_settime 281 - 252 common timer_gettime sys_timer_gettime compat_sys_timer_gettime 268 + 251 32 timer_settime sys_timer_settime32 269 + 251 64 timer_settime sys_timer_settime 270 + 252 32 timer_gettime sys_timer_gettime32 271 + 252 64 timer_gettime sys_timer_gettime 282 272 253 common timer_getoverrun sys_timer_getoverrun 283 273 254 common timer_delete sys_timer_delete 284 - 255 common clock_settime sys_clock_settime compat_sys_clock_settime 285 - 256 common clock_gettime sys_clock_gettime compat_sys_clock_gettime 286 - 257 common clock_getres sys_clock_getres compat_sys_clock_getres 287 - 258 common clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep 274 + 255 32 clock_settime sys_clock_settime32 275 + 255 64 clock_settime sys_clock_settime 276 + 256 32 clock_gettime sys_clock_gettime32 277 + 256 64 clock_gettime sys_clock_gettime 278 + 257 32 clock_getres sys_clock_getres_time32 279 + 257 64 clock_getres sys_clock_getres 280 + 258 32 clock_nanosleep sys_clock_nanosleep_time32 281 + 258 64 clock_nanosleep sys_clock_nanosleep 288 282 259 common tgkill sys_tgkill 289 283 260 common mbind sys_mbind compat_sys_mbind 290 284 261 common get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy ··· 305 287 270 common inotify_add_watch sys_inotify_add_watch 306 288 271 common inotify_rm_watch sys_inotify_rm_watch 307 289 272 common migrate_pages sys_migrate_pages 308 - 273 common pselect6 sys_pselect6 compat_sys_pselect6 309 - 274 common ppoll sys_ppoll compat_sys_ppoll 290 + 273 32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32 291 + 273 64 pselect6 sys_pselect6 292 + 274 32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32 293 + 274 64 ppoll sys_ppoll 310 294 275 common openat sys_openat compat_sys_openat 311 295 276 common mkdirat sys_mkdirat 312 296 277 common mknodat sys_mknodat 313 297 278 common fchownat sys_fchownat 314 - 279 common futimesat sys_futimesat compat_sys_futimesat 298 + 279 32 futimesat sys_futimesat_time32 299 + 279 64 futimesat sys_futimesat 315 300 280 common fstatat64 sys_fstatat64 316 301 281 common unlinkat sys_unlinkat 317 302 282 common renameat sys_renameat ··· 337 316 298 common statfs64 sys_statfs64 compat_sys_statfs64 338 317 299 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 339 318 300 common kexec_load sys_kexec_load compat_sys_kexec_load 340 - 301 common utimensat sys_utimensat compat_sys_utimensat 319 + 301 32 utimensat sys_utimensat_time32 320 + 301 64 utimensat sys_utimensat 341 321 302 common signalfd sys_signalfd compat_sys_signalfd 342 322 # 303 was timerfd 343 323 304 common eventfd sys_eventfd 344 324 305 32 fallocate parisc_fallocate 345 325 305 64 fallocate sys_fallocate 346 326 306 common timerfd_create sys_timerfd_create 347 - 307 common timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime 348 - 308 common timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime 327 + 307 32 timerfd_settime sys_timerfd_settime32 328 + 307 64 timerfd_settime sys_timerfd_settime 329 + 308 32 timerfd_gettime sys_timerfd_gettime32 330 + 308 64 timerfd_gettime sys_timerfd_gettime 349 331 309 common signalfd4 sys_signalfd4 compat_sys_signalfd4 350 332 310 common eventfd2 sys_eventfd2 351 333 311 common epoll_create1 sys_epoll_create1 ··· 359 335 316 common pwritev sys_pwritev compat_sys_pwritev 360 336 317 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo 361 337 318 common perf_event_open sys_perf_event_open 362 - 319 common recvmmsg sys_recvmmsg compat_sys_recvmmsg 338 + 319 32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32 339 + 319 64 recvmmsg sys_recvmmsg 363 340 320 common accept4 sys_accept4 364 341 321 common prlimit64 sys_prlimit64 365 342 322 common fanotify_init sys_fanotify_init 366 343 323 common fanotify_mark sys_fanotify_mark sys32_fanotify_mark 367 - 324 common clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime 344 + 324 32 clock_adjtime sys_clock_adjtime32 345 + 324 64 clock_adjtime sys_clock_adjtime 368 346 325 common name_to_handle_at sys_name_to_handle_at 369 347 326 common open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at 370 348 327 common syncfs sys_syncfs ··· 378 352 333 common finit_module sys_finit_module 379 353 334 common sched_setattr sys_sched_setattr 380 354 335 common sched_getattr sys_sched_getattr 381 - 336 common utimes sys_utimes compat_sys_utimes 355 + 336 32 utimes sys_utimes_time32 356 + 336 64 utimes sys_utimes 382 357 337 common renameat2 sys_renameat2 383 358 338 common seccomp sys_seccomp 384 359 339 common getrandom sys_getrandom ··· 393 366 347 common preadv2 sys_preadv2 compat_sys_preadv2 394 367 348 common pwritev2 sys_pwritev2 compat_sys_pwritev2 395 368 349 common statx sys_statx 396 - 350 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents 369 + 350 32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents 370 + 350 64 io_pgetevents sys_io_pgetevents 371 + 351 common pkey_mprotect sys_pkey_mprotect 372 + 352 common pkey_alloc sys_pkey_alloc 373 + 353 common pkey_free sys_pkey_free 374 + 354 common rseq sys_rseq 375 + # 355 through 402 are unassigned to sync up with generic numbers 376 + 403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime 377 + 404 32 clock_settime64 sys_clock_settime sys_clock_settime 378 + 405 32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime 379 + 406 32 clock_getres_time64 sys_clock_getres sys_clock_getres 380 + 407 32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep 381 + 408 32 timer_gettime64 sys_timer_gettime sys_timer_gettime 382 + 409 32 timer_settime64 sys_timer_settime sys_timer_settime 383 + 410 32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime 384 + 411 32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime 385 + 412 32 utimensat_time64 sys_utimensat sys_utimensat 386 + 413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64 387 + 414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64 388 + 416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents 389 + 417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64 390 + 418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend 391 + 419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive 392 + 420 32 semtimedop_time64 sys_semtimedop sys_semtimedop 393 + 421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64 394 + 422 32 futex_time64 sys_futex sys_futex 395 + 423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
+1
arch/powerpc/Kconfig
··· 128 128 # 129 129 # Please keep this list sorted alphabetically. 130 130 # 131 + select ARCH_32BIT_OFF_T if PPC32 131 132 select ARCH_HAS_DEBUG_VIRTUAL 132 133 select ARCH_HAS_DEVMEM_IS_ALLOWED 133 134 select ARCH_HAS_DMA_SET_COHERENT_MASK
+4 -4
arch/powerpc/include/asm/unistd.h
··· 29 29 #define __ARCH_WANT_SYS_IPC 30 30 #define __ARCH_WANT_SYS_PAUSE 31 31 #define __ARCH_WANT_SYS_SIGNAL 32 - #define __ARCH_WANT_SYS_TIME 33 - #define __ARCH_WANT_SYS_UTIME 32 + #define __ARCH_WANT_SYS_TIME32 33 + #define __ARCH_WANT_SYS_UTIME32 34 34 #define __ARCH_WANT_SYS_WAITPID 35 35 #define __ARCH_WANT_SYS_SOCKETCALL 36 36 #define __ARCH_WANT_SYS_FADVISE64 ··· 45 45 #define __ARCH_WANT_OLD_STAT 46 46 #endif 47 47 #ifdef CONFIG_PPC64 48 - #define __ARCH_WANT_COMPAT_SYS_TIME 49 - #define __ARCH_WANT_SYS_UTIME32 48 + #define __ARCH_WANT_SYS_TIME 49 + #define __ARCH_WANT_SYS_UTIME 50 50 #define __ARCH_WANT_SYS_NEWFSTATAT 51 51 #define __ARCH_WANT_COMPAT_SYS_SENDFILE 52 52 #endif
+107 -27
arch/powerpc/kernel/syscalls/syscall.tbl
··· 20 20 10 common unlink sys_unlink 21 21 11 nospu execve sys_execve compat_sys_execve 22 22 12 common chdir sys_chdir 23 - 13 common time sys_time compat_sys_time 23 + 13 32 time sys_time32 24 + 13 64 time sys_time 25 + 13 spu time sys_time 24 26 14 common mknod sys_mknod 25 27 15 common chmod sys_chmod 26 28 16 common lchown sys_lchown ··· 38 36 22 spu umount sys_ni_syscall 39 37 23 common setuid sys_setuid 40 38 24 common getuid sys_getuid 41 - 25 common stime sys_stime compat_sys_stime 39 + 25 32 stime sys_stime32 40 + 25 64 stime sys_stime 41 + 25 spu stime sys_stime 42 42 26 nospu ptrace sys_ptrace compat_sys_ptrace 43 43 27 common alarm sys_alarm 44 44 28 32 oldfstat sys_fstat sys_ni_syscall 45 45 28 64 oldfstat sys_ni_syscall 46 46 28 spu oldfstat sys_ni_syscall 47 47 29 nospu pause sys_pause 48 - 30 nospu utime sys_utime compat_sys_utime 48 + 30 32 utime sys_utime32 49 + 30 64 utime sys_utime 49 50 31 common stty sys_ni_syscall 50 51 32 common gtty sys_ni_syscall 51 52 33 common access sys_access ··· 162 157 121 common setdomainname sys_setdomainname 163 158 122 common uname sys_newuname 164 159 123 common modify_ldt sys_ni_syscall 165 - 124 common adjtimex sys_adjtimex compat_sys_adjtimex 160 + 124 32 adjtimex sys_adjtimex_time32 161 + 124 64 adjtimex sys_adjtimex 162 + 124 spu adjtimex sys_adjtimex 166 163 125 common mprotect sys_mprotect 167 164 126 32 sigprocmask sys_sigprocmask compat_sys_sigprocmask 168 165 126 64 sigprocmask sys_ni_syscall ··· 205 198 158 common sched_yield sys_sched_yield 206 199 159 common sched_get_priority_max sys_sched_get_priority_max 207 200 160 common sched_get_priority_min sys_sched_get_priority_min 208 - 161 common sched_rr_get_interval sys_sched_rr_get_interval compat_sys_sched_rr_get_interval 209 - 162 common nanosleep sys_nanosleep compat_sys_nanosleep 201 + 161 32 sched_rr_get_interval sys_sched_rr_get_interval_time32 202 + 161 64 sched_rr_get_interval sys_sched_rr_get_interval 203 + 161 spu sched_rr_get_interval sys_sched_rr_get_interval 204 + 162 32 nanosleep sys_nanosleep_time32 205 + 162 64 nanosleep sys_nanosleep 206 + 162 spu nanosleep sys_nanosleep 210 207 163 common mremap sys_mremap 211 208 164 common setresuid sys_setresuid 212 209 165 common getresuid sys_getresuid ··· 224 213 173 nospu rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction 225 214 174 nospu rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask 226 215 175 nospu rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending 227 - 176 nospu rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait 216 + 176 32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32 217 + 176 64 rt_sigtimedwait sys_rt_sigtimedwait 228 218 177 nospu rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo 229 219 178 nospu rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend 230 220 179 common pread64 sys_pread64 compat_sys_pread64 ··· 272 260 218 common removexattr sys_removexattr 273 261 219 common lremovexattr sys_lremovexattr 274 262 220 common fremovexattr sys_fremovexattr 275 - 221 common futex sys_futex compat_sys_futex 263 + 221 32 futex sys_futex_time32 264 + 221 64 futex sys_futex 265 + 221 spu futex sys_futex 276 266 222 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity 277 267 223 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity 278 268 # 224 unused ··· 282 268 226 32 sendfile64 sys_sendfile64 compat_sys_sendfile64 283 269 227 common io_setup sys_io_setup compat_sys_io_setup 284 270 228 common io_destroy sys_io_destroy 285 - 229 common io_getevents sys_io_getevents compat_sys_io_getevents 271 + 229 32 io_getevents sys_io_getevents_time32 272 + 229 64 io_getevents sys_io_getevents 273 + 229 spu io_getevents sys_io_getevents 286 274 230 common io_submit sys_io_submit compat_sys_io_submit 287 275 231 common io_cancel sys_io_cancel 288 276 232 nospu set_tid_address sys_set_tid_address ··· 296 280 238 common epoll_wait sys_epoll_wait 297 281 239 common remap_file_pages sys_remap_file_pages 298 282 240 common timer_create sys_timer_create compat_sys_timer_create 299 - 241 common timer_settime sys_timer_settime compat_sys_timer_settime 300 - 242 common timer_gettime sys_timer_gettime compat_sys_timer_gettime 283 + 241 32 timer_settime sys_timer_settime32 284 + 241 64 timer_settime sys_timer_settime 285 + 241 spu timer_settime sys_timer_settime 286 + 242 32 timer_gettime sys_timer_gettime32 287 + 242 64 timer_gettime sys_timer_gettime 288 + 242 spu timer_gettime sys_timer_gettime 301 289 243 common timer_getoverrun sys_timer_getoverrun 302 290 244 common timer_delete sys_timer_delete 303 - 245 common clock_settime sys_clock_settime compat_sys_clock_settime 304 - 246 common clock_gettime sys_clock_gettime compat_sys_clock_gettime 305 - 247 common clock_getres sys_clock_getres compat_sys_clock_getres 306 - 248 common clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep 291 + 245 32 clock_settime sys_clock_settime32 292 + 245 64 clock_settime sys_clock_settime 293 + 245 spu clock_settime sys_clock_settime 294 + 246 32 clock_gettime sys_clock_gettime32 295 + 246 64 clock_gettime sys_clock_gettime 296 + 246 spu clock_gettime sys_clock_gettime 297 + 247 32 clock_getres sys_clock_getres_time32 298 + 247 64 clock_getres sys_clock_getres 299 + 247 spu clock_getres sys_clock_getres 300 + 248 32 clock_nanosleep sys_clock_nanosleep_time32 301 + 248 64 clock_nanosleep sys_clock_nanosleep 302 + 248 spu clock_nanosleep sys_clock_nanosleep 307 303 249 32 swapcontext ppc_swapcontext ppc32_swapcontext 308 304 249 64 swapcontext ppc64_swapcontext 309 305 249 spu swapcontext sys_ni_syscall 310 306 250 common tgkill sys_tgkill 311 - 251 common utimes sys_utimes compat_sys_utimes 307 + 251 32 utimes sys_utimes_time32 308 + 251 64 utimes sys_utimes 309 + 251 spu utimes sys_utimes 312 310 252 common statfs64 sys_statfs64 compat_sys_statfs64 313 311 253 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 314 312 254 32 fadvise64_64 ppc_fadvise64_64 ··· 338 308 261 nospu set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy 339 309 262 nospu mq_open sys_mq_open compat_sys_mq_open 340 310 263 nospu mq_unlink sys_mq_unlink 341 - 264 nospu mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend 342 - 265 nospu mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive 311 + 264 32 mq_timedsend sys_mq_timedsend_time32 312 + 264 64 mq_timedsend sys_mq_timedsend 313 + 265 32 mq_timedreceive sys_mq_timedreceive_time32 314 + 265 64 mq_timedreceive sys_mq_timedreceive 343 315 266 nospu mq_notify sys_mq_notify compat_sys_mq_notify 344 316 267 nospu mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr 345 317 268 nospu kexec_load sys_kexec_load compat_sys_kexec_load ··· 356 324 277 nospu inotify_rm_watch sys_inotify_rm_watch 357 325 278 nospu spu_run sys_spu_run 358 326 279 nospu spu_create sys_spu_create 359 - 280 nospu pselect6 sys_pselect6 compat_sys_pselect6 360 - 281 nospu ppoll sys_ppoll compat_sys_ppoll 327 + 280 32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32 328 + 280 64 pselect6 sys_pselect6 329 + 281 32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32 330 + 281 64 ppoll sys_ppoll 361 331 282 common unshare sys_unshare 362 332 283 common splice sys_splice 363 333 284 common tee sys_tee ··· 368 334 287 common mkdirat sys_mkdirat 369 335 288 common mknodat sys_mknodat 370 336 289 common fchownat sys_fchownat 371 - 290 common futimesat sys_futimesat compat_sys_futimesat 337 + 290 32 futimesat sys_futimesat_time32 338 + 290 64 futimesat sys_futimesat 339 + 290 spu utimesat sys_futimesat 372 340 291 32 fstatat64 sys_fstatat64 373 341 291 64 newfstatat sys_newfstatat 374 342 291 spu newfstatat sys_newfstatat ··· 386 350 301 common move_pages sys_move_pages compat_sys_move_pages 387 351 302 common getcpu sys_getcpu 388 352 303 nospu epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait 389 - 304 common utimensat sys_utimensat compat_sys_utimensat 353 + 304 32 utimensat sys_utimensat_time32 354 + 304 64 utimensat sys_utimensat 355 + 304 spu utimensat sys_utimensat 390 356 305 common signalfd sys_signalfd compat_sys_signalfd 391 357 306 common timerfd_create sys_timerfd_create 392 358 307 common eventfd sys_eventfd 393 359 308 common sync_file_range2 sys_sync_file_range2 compat_sys_sync_file_range2 394 360 309 nospu fallocate sys_fallocate compat_sys_fallocate 395 361 310 nospu subpage_prot sys_subpage_prot 396 - 311 common timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime 397 - 312 common timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime 362 + 311 32 timerfd_settime sys_timerfd_settime32 363 + 311 64 timerfd_settime sys_timerfd_settime 364 + 311 spu timerfd_settime sys_timerfd_settime 365 + 312 32 timerfd_gettime sys_timerfd_gettime32 366 + 312 64 timerfd_gettime sys_timerfd_gettime 367 + 312 spu timerfd_gettime sys_timerfd_gettime 398 368 313 common signalfd4 sys_signalfd4 compat_sys_signalfd4 399 369 314 common eventfd2 sys_eventfd2 400 370 315 common epoll_create1 sys_epoll_create1 ··· 431 389 340 common getsockopt sys_getsockopt compat_sys_getsockopt 432 390 341 common sendmsg sys_sendmsg compat_sys_sendmsg 433 391 342 common recvmsg sys_recvmsg compat_sys_recvmsg 434 - 343 common recvmmsg sys_recvmmsg compat_sys_recvmmsg 392 + 343 32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32 393 + 343 64 recvmmsg sys_recvmmsg 394 + 343 spu recvmmsg sys_recvmmsg 435 395 344 common accept4 sys_accept4 436 396 345 common name_to_handle_at sys_name_to_handle_at 437 397 346 common open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at 438 - 347 common clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime 398 + 347 32 clock_adjtime sys_clock_adjtime32 399 + 347 64 clock_adjtime sys_clock_adjtime 400 + 347 spu clock_adjtime sys_clock_adjtime 439 401 348 common syncfs sys_syncfs 440 402 349 common sendmmsg sys_sendmmsg compat_sys_sendmmsg 441 403 350 common setns sys_setns ··· 460 414 363 spu switch_endian sys_ni_syscall 461 415 364 common userfaultfd sys_userfaultfd 462 416 365 common membarrier sys_membarrier 417 + # 366-377 originally left for IPC, now unused 463 418 378 nospu mlock2 sys_mlock2 464 419 379 nospu copy_file_range sys_copy_file_range 465 420 380 common preadv2 sys_preadv2 compat_sys_preadv2 ··· 471 424 385 nospu pkey_free sys_pkey_free 472 425 386 nospu pkey_mprotect sys_pkey_mprotect 473 426 387 nospu rseq sys_rseq 474 - 388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents 427 + 388 32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents 428 + 388 64 io_pgetevents sys_io_pgetevents 429 + # room for arch specific syscalls 430 + 392 64 semtimedop sys_semtimedop 431 + 393 common semget sys_semget 432 + 394 common semctl sys_semctl compat_sys_semctl 433 + 395 common shmget sys_shmget 434 + 396 common shmctl sys_shmctl compat_sys_shmctl 435 + 397 common shmat sys_shmat compat_sys_shmat 436 + 398 common shmdt sys_shmdt 437 + 399 common msgget sys_msgget 438 + 400 common msgsnd sys_msgsnd compat_sys_msgsnd 439 + 401 common msgrcv sys_msgrcv compat_sys_msgrcv 440 + 402 common msgctl sys_msgctl compat_sys_msgctl 441 + 403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime 442 + 404 32 clock_settime64 sys_clock_settime sys_clock_settime 443 + 405 32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime 444 + 406 32 clock_getres_time64 sys_clock_getres sys_clock_getres 445 + 407 32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep 446 + 408 32 timer_gettime64 sys_timer_gettime sys_timer_gettime 447 + 409 32 timer_settime64 sys_timer_settime sys_timer_settime 448 + 410 32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime 449 + 411 32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime 450 + 412 32 utimensat_time64 sys_utimensat sys_utimensat 451 + 413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64 452 + 414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64 453 + 416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents 454 + 417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64 455 + 418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend 456 + 419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive 457 + 420 32 semtimedop_time64 sys_semtimedop sys_semtimedop 458 + 421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64 459 + 422 32 futex_time64 sys_futex sys_futex 460 + 423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
+1
arch/riscv/include/uapi/asm/unistd.h
··· 17 17 18 18 #ifdef __LP64__ 19 19 #define __ARCH_WANT_NEW_STAT 20 + #define __ARCH_WANT_SET_GET_RLIMIT 20 21 #endif /* __LP64__ */ 21 22 22 23 #include <asm-generic/unistd.h>
+2
arch/riscv/kernel/vdso/Makefile
··· 2 2 3 3 # Symbols present in the vdso 4 4 vdso-syms = rt_sigreturn 5 + ifdef CONFIG_64BIT 5 6 vdso-syms += gettimeofday 6 7 vdso-syms += clock_gettime 7 8 vdso-syms += clock_getres 9 + endif 8 10 vdso-syms += getcpu 9 11 vdso-syms += flush_icache 10 12
+1 -6
arch/s390/include/asm/unistd.h
··· 10 10 #include <uapi/asm/unistd.h> 11 11 #include <asm/unistd_nr.h> 12 12 13 - #define __IGNORE_time 14 - #define __IGNORE_pkey_mprotect 15 - #define __IGNORE_pkey_alloc 16 - #define __IGNORE_pkey_free 17 - 18 13 #define __ARCH_WANT_NEW_STAT 19 14 #define __ARCH_WANT_OLD_READDIR 20 15 #define __ARCH_WANT_SYS_ALARM ··· 28 33 #define __ARCH_WANT_SYS_SIGPENDING 29 34 #define __ARCH_WANT_SYS_SIGPROCMASK 30 35 # ifdef CONFIG_COMPAT 31 - # define __ARCH_WANT_COMPAT_SYS_TIME 36 + # define __ARCH_WANT_SYS_TIME32 32 37 # define __ARCH_WANT_SYS_UTIME32 33 38 # endif 34 39 #define __ARCH_WANT_SYS_FORK
+61 -26
arch/s390/kernel/syscalls/syscall.tbl
··· 20 20 10 common unlink sys_unlink sys_unlink 21 21 11 common execve sys_execve compat_sys_execve 22 22 12 common chdir sys_chdir sys_chdir 23 - 13 32 time - compat_sys_time 23 + 13 32 time - sys_time32 24 24 14 common mknod sys_mknod sys_mknod 25 25 15 common chmod sys_chmod sys_chmod 26 26 16 32 lchown - sys_lchown16 ··· 30 30 22 common umount sys_oldumount sys_oldumount 31 31 23 32 setuid - sys_setuid16 32 32 24 32 getuid - sys_getuid16 33 - 25 32 stime - compat_sys_stime 33 + 25 32 stime - sys_stime32 34 34 26 common ptrace sys_ptrace compat_sys_ptrace 35 35 27 common alarm sys_alarm sys_alarm 36 36 29 common pause sys_pause sys_pause 37 - 30 common utime sys_utime compat_sys_utime 37 + 30 common utime sys_utime sys_utime32 38 38 33 common access sys_access sys_access 39 39 34 common nice sys_nice sys_nice 40 40 36 common sync sys_sync sys_sync ··· 112 112 120 common clone sys_clone sys_clone 113 113 121 common setdomainname sys_setdomainname sys_setdomainname 114 114 122 common uname sys_newuname sys_newuname 115 - 124 common adjtimex sys_adjtimex compat_sys_adjtimex 115 + 124 common adjtimex sys_adjtimex sys_adjtimex_time32 116 116 125 common mprotect sys_mprotect sys_mprotect 117 117 126 common sigprocmask sys_sigprocmask compat_sys_sigprocmask 118 118 127 common create_module - - ··· 150 150 158 common sched_yield sys_sched_yield sys_sched_yield 151 151 159 common sched_get_priority_max sys_sched_get_priority_max sys_sched_get_priority_max 152 152 160 common sched_get_priority_min sys_sched_get_priority_min sys_sched_get_priority_min 153 - 161 common sched_rr_get_interval sys_sched_rr_get_interval compat_sys_sched_rr_get_interval 154 - 162 common nanosleep sys_nanosleep compat_sys_nanosleep 153 + 161 common sched_rr_get_interval sys_sched_rr_get_interval sys_sched_rr_get_interval_time32 154 + 162 common nanosleep sys_nanosleep sys_nanosleep_time32 155 155 163 common mremap sys_mremap sys_mremap 156 156 164 32 setresuid - sys_setresuid16 157 157 165 32 getresuid - sys_getresuid16 ··· 165 165 174 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction 166 166 175 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask 167 167 176 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending 168 - 177 common rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait 168 + 177 common rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time32 169 169 178 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo 170 170 179 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend 171 171 180 common pread64 sys_pread64 compat_sys_s390_pread64 ··· 246 246 235 common fremovexattr sys_fremovexattr sys_fremovexattr 247 247 236 common gettid sys_gettid sys_gettid 248 248 237 common tkill sys_tkill sys_tkill 249 - 238 common futex sys_futex compat_sys_futex 249 + 238 common futex sys_futex sys_futex_time32 250 250 239 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity 251 251 240 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity 252 252 241 common tgkill sys_tgkill sys_tgkill 253 253 243 common io_setup sys_io_setup compat_sys_io_setup 254 254 244 common io_destroy sys_io_destroy sys_io_destroy 255 - 245 common io_getevents sys_io_getevents compat_sys_io_getevents 255 + 245 common io_getevents sys_io_getevents sys_io_getevents_time32 256 256 246 common io_submit sys_io_submit compat_sys_io_submit 257 257 247 common io_cancel sys_io_cancel sys_io_cancel 258 258 248 common exit_group sys_exit_group sys_exit_group ··· 262 262 252 common set_tid_address sys_set_tid_address sys_set_tid_address 263 263 253 common fadvise64 sys_fadvise64_64 compat_sys_s390_fadvise64 264 264 254 common timer_create sys_timer_create compat_sys_timer_create 265 - 255 common timer_settime sys_timer_settime compat_sys_timer_settime 266 - 256 common timer_gettime sys_timer_gettime compat_sys_timer_gettime 265 + 255 common timer_settime sys_timer_settime sys_timer_settime32 266 + 256 common timer_gettime sys_timer_gettime sys_timer_gettime32 267 267 257 common timer_getoverrun sys_timer_getoverrun sys_timer_getoverrun 268 268 258 common timer_delete sys_timer_delete sys_timer_delete 269 - 259 common clock_settime sys_clock_settime compat_sys_clock_settime 270 - 260 common clock_gettime sys_clock_gettime compat_sys_clock_gettime 271 - 261 common clock_getres sys_clock_getres compat_sys_clock_getres 272 - 262 common clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep 269 + 259 common clock_settime sys_clock_settime sys_clock_settime32 270 + 260 common clock_gettime sys_clock_gettime sys_clock_gettime32 271 + 261 common clock_getres sys_clock_getres sys_clock_getres_time32 272 + 262 common clock_nanosleep sys_clock_nanosleep sys_clock_nanosleep_time32 273 273 264 32 fadvise64_64 - compat_sys_s390_fadvise64_64 274 274 265 common statfs64 sys_statfs64 compat_sys_statfs64 275 275 266 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 ··· 279 279 270 common set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy 280 280 271 common mq_open sys_mq_open compat_sys_mq_open 281 281 272 common mq_unlink sys_mq_unlink sys_mq_unlink 282 - 273 common mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend 283 - 274 common mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive 282 + 273 common mq_timedsend sys_mq_timedsend sys_mq_timedsend_time32 283 + 274 common mq_timedreceive sys_mq_timedreceive sys_mq_timedreceive_time32 284 284 275 common mq_notify sys_mq_notify compat_sys_mq_notify 285 285 276 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr 286 286 277 common kexec_load sys_kexec_load compat_sys_kexec_load ··· 298 298 289 common mkdirat sys_mkdirat sys_mkdirat 299 299 290 common mknodat sys_mknodat sys_mknodat 300 300 291 common fchownat sys_fchownat sys_fchownat 301 - 292 common futimesat sys_futimesat compat_sys_futimesat 301 + 292 common futimesat sys_futimesat sys_futimesat_time32 302 302 293 32 fstatat64 - compat_sys_s390_fstatat64 303 303 293 64 newfstatat sys_newfstatat - 304 304 294 common unlinkat sys_unlinkat sys_unlinkat ··· 308 308 298 common readlinkat sys_readlinkat sys_readlinkat 309 309 299 common fchmodat sys_fchmodat sys_fchmodat 310 310 300 common faccessat sys_faccessat sys_faccessat 311 - 301 common pselect6 sys_pselect6 compat_sys_pselect6 312 - 302 common ppoll sys_ppoll compat_sys_ppoll 311 + 301 common pselect6 sys_pselect6 compat_sys_pselect6_time32 312 + 302 common ppoll sys_ppoll compat_sys_ppoll_time32 313 313 303 common unshare sys_unshare sys_unshare 314 314 304 common set_robust_list sys_set_robust_list compat_sys_set_robust_list 315 315 305 common get_robust_list sys_get_robust_list compat_sys_get_robust_list ··· 320 320 310 common move_pages sys_move_pages compat_sys_move_pages 321 321 311 common getcpu sys_getcpu sys_getcpu 322 322 312 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait 323 - 313 common utimes sys_utimes compat_sys_utimes 323 + 313 common utimes sys_utimes sys_utimes_time32 324 324 314 common fallocate sys_fallocate compat_sys_s390_fallocate 325 - 315 common utimensat sys_utimensat compat_sys_utimensat 325 + 315 common utimensat sys_utimensat sys_utimensat_time32 326 326 316 common signalfd sys_signalfd compat_sys_signalfd 327 327 317 common timerfd - - 328 328 318 common eventfd sys_eventfd sys_eventfd 329 329 319 common timerfd_create sys_timerfd_create sys_timerfd_create 330 - 320 common timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime 331 - 321 common timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime 330 + 320 common timerfd_settime sys_timerfd_settime sys_timerfd_settime32 331 + 321 common timerfd_gettime sys_timerfd_gettime sys_timerfd_gettime32 332 332 322 common signalfd4 sys_signalfd4 compat_sys_signalfd4 333 333 323 common eventfd2 sys_eventfd2 sys_eventfd2 334 334 324 common inotify_init1 sys_inotify_init1 sys_inotify_init1 ··· 344 344 334 common prlimit64 sys_prlimit64 sys_prlimit64 345 345 335 common name_to_handle_at sys_name_to_handle_at sys_name_to_handle_at 346 346 336 common open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at 347 - 337 common clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime 347 + 337 common clock_adjtime sys_clock_adjtime sys_clock_adjtime32 348 348 338 common syncfs sys_syncfs sys_syncfs 349 349 339 common setns sys_setns sys_setns 350 350 340 common process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv ··· 364 364 354 common execveat sys_execveat compat_sys_execveat 365 365 355 common userfaultfd sys_userfaultfd sys_userfaultfd 366 366 356 common membarrier sys_membarrier sys_membarrier 367 - 357 common recvmmsg sys_recvmmsg compat_sys_recvmmsg 367 + 357 common recvmmsg sys_recvmmsg compat_sys_recvmmsg_time32 368 368 358 common sendmmsg sys_sendmmsg compat_sys_sendmmsg 369 369 359 common socket sys_socket sys_socket 370 370 360 common socketpair sys_socketpair sys_socketpair ··· 391 391 381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load 392 392 382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents 393 393 383 common rseq sys_rseq sys_rseq 394 + 384 common pkey_mprotect sys_pkey_mprotect sys_pkey_mprotect 395 + 385 common pkey_alloc sys_pkey_alloc sys_pkey_alloc 396 + 386 common pkey_free sys_pkey_free sys_pkey_free 397 + # room for arch specific syscalls 398 + 392 64 semtimedop sys_semtimedop - 399 + 393 common semget sys_semget sys_semget 400 + 394 common semctl sys_semctl compat_sys_semctl 401 + 395 common shmget sys_shmget sys_shmget 402 + 396 common shmctl sys_shmctl compat_sys_shmctl 403 + 397 common shmat sys_shmat compat_sys_shmat 404 + 398 common shmdt sys_shmdt sys_shmdt 405 + 399 common msgget sys_msgget sys_msgget 406 + 400 common msgsnd sys_msgsnd compat_sys_msgsnd 407 + 401 common msgrcv sys_msgrcv compat_sys_msgrcv 408 + 402 common msgctl sys_msgctl compat_sys_msgctl 409 + 403 32 clock_gettime64 - sys_clock_gettime 410 + 404 32 clock_settime64 - sys_clock_settime 411 + 405 32 clock_adjtime64 - sys_clock_adjtime 412 + 406 32 clock_getres_time64 - sys_clock_getres 413 + 407 32 clock_nanosleep_time64 - sys_clock_nanosleep 414 + 408 32 timer_gettime64 - sys_timer_gettime 415 + 409 32 timer_settime64 - sys_timer_settime 416 + 410 32 timerfd_gettime64 - sys_timerfd_gettime 417 + 411 32 timerfd_settime64 - sys_timerfd_settime 418 + 412 32 utimensat_time64 - sys_utimensat 419 + 413 32 pselect6_time64 - compat_sys_pselect6_time64 420 + 414 32 ppoll_time64 - compat_sys_ppoll_time64 421 + 416 32 io_pgetevents_time64 - sys_io_pgetevents 422 + 417 32 recvmmsg_time64 - compat_sys_recvmmsg_time64 423 + 418 32 mq_timedsend_time64 - sys_mq_timedsend 424 + 419 32 mq_timedreceive_time64 - sys_mq_timedreceive 425 + 420 32 semtimedop_time64 - sys_semtimedop 426 + 421 32 rt_sigtimedwait_time64 - compat_sys_rt_sigtimedwait_time64 427 + 422 32 futex_time64 - sys_futex 428 + 423 32 sched_rr_get_interval_time64 - sys_sched_rr_get_interval
+1
arch/sh/Kconfig
··· 62 62 63 63 config SUPERH32 64 64 def_bool "$(ARCH)" = "sh" 65 + select ARCH_32BIT_OFF_T 65 66 select HAVE_KPROBES 66 67 select HAVE_KRETPROBES 67 68 select HAVE_IOREMAP_PROT if MMU && !X2TLB
+2 -2
arch/sh/include/asm/unistd.h
··· 16 16 # define __ARCH_WANT_SYS_IPC 17 17 # define __ARCH_WANT_SYS_PAUSE 18 18 # define __ARCH_WANT_SYS_SIGNAL 19 - # define __ARCH_WANT_SYS_TIME 20 - # define __ARCH_WANT_SYS_UTIME 19 + # define __ARCH_WANT_SYS_TIME32 20 + # define __ARCH_WANT_SYS_UTIME32 21 21 # define __ARCH_WANT_SYS_WAITPID 22 22 # define __ARCH_WANT_SYS_SOCKETCALL 23 23 # define __ARCH_WANT_SYS_FADVISE64
-403
arch/sh/include/uapi/asm/unistd_32.h
··· 1 - /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 - #ifndef __ASM_SH_UNISTD_32_H 3 - #define __ASM_SH_UNISTD_32_H 4 - 5 - /* 6 - * Copyright (C) 1999 Niibe Yutaka 7 - */ 8 - 9 - /* 10 - * This file contains the system call numbers. 11 - */ 12 - 13 - #define __NR_restart_syscall 0 14 - #define __NR_exit 1 15 - #define __NR_fork 2 16 - #define __NR_read 3 17 - #define __NR_write 4 18 - #define __NR_open 5 19 - #define __NR_close 6 20 - #define __NR_waitpid 7 21 - #define __NR_creat 8 22 - #define __NR_link 9 23 - #define __NR_unlink 10 24 - #define __NR_execve 11 25 - #define __NR_chdir 12 26 - #define __NR_time 13 27 - #define __NR_mknod 14 28 - #define __NR_chmod 15 29 - #define __NR_lchown 16 30 - /* 17 was sys_break */ 31 - #define __NR_oldstat 18 32 - #define __NR_lseek 19 33 - #define __NR_getpid 20 34 - #define __NR_mount 21 35 - #define __NR_umount 22 36 - #define __NR_setuid 23 37 - #define __NR_getuid 24 38 - #define __NR_stime 25 39 - #define __NR_ptrace 26 40 - #define __NR_alarm 27 41 - #define __NR_oldfstat 28 42 - #define __NR_pause 29 43 - #define __NR_utime 30 44 - /* 31 was sys_stty */ 45 - /* 32 was sys_gtty */ 46 - #define __NR_access 33 47 - #define __NR_nice 34 48 - /* 35 was sys_ftime */ 49 - #define __NR_sync 36 50 - #define __NR_kill 37 51 - #define __NR_rename 38 52 - #define __NR_mkdir 39 53 - #define __NR_rmdir 40 54 - #define __NR_dup 41 55 - #define __NR_pipe 42 56 - #define __NR_times 43 57 - /* 44 was sys_prof */ 58 - #define __NR_brk 45 59 - #define __NR_setgid 46 60 - #define __NR_getgid 47 61 - #define __NR_signal 48 62 - #define __NR_geteuid 49 63 - #define __NR_getegid 50 64 - #define __NR_acct 51 65 - #define __NR_umount2 52 66 - /* 53 was sys_lock */ 67 - #define __NR_ioctl 54 68 - #define __NR_fcntl 55 69 - /* 56 was sys_mpx */ 70 - #define __NR_setpgid 57 71 - /* 58 was sys_ulimit */ 72 - /* 59 was sys_olduname */ 73 - #define __NR_umask 60 74 - #define __NR_chroot 61 75 - #define __NR_ustat 62 76 - #define __NR_dup2 63 77 - #define __NR_getppid 64 78 - #define __NR_getpgrp 65 79 - #define __NR_setsid 66 80 - #define __NR_sigaction 67 81 - #define __NR_sgetmask 68 82 - #define __NR_ssetmask 69 83 - #define __NR_setreuid 70 84 - #define __NR_setregid 71 85 - #define __NR_sigsuspend 72 86 - #define __NR_sigpending 73 87 - #define __NR_sethostname 74 88 - #define __NR_setrlimit 75 89 - #define __NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */ 90 - #define __NR_getrusage 77 91 - #define __NR_gettimeofday 78 92 - #define __NR_settimeofday 79 93 - #define __NR_getgroups 80 94 - #define __NR_setgroups 81 95 - /* 82 was sys_oldselect */ 96 - #define __NR_symlink 83 97 - #define __NR_oldlstat 84 98 - #define __NR_readlink 85 99 - #define __NR_uselib 86 100 - #define __NR_swapon 87 101 - #define __NR_reboot 88 102 - #define __NR_readdir 89 103 - #define __NR_mmap 90 104 - #define __NR_munmap 91 105 - #define __NR_truncate 92 106 - #define __NR_ftruncate 93 107 - #define __NR_fchmod 94 108 - #define __NR_fchown 95 109 - #define __NR_getpriority 96 110 - #define __NR_setpriority 97 111 - /* 98 was sys_profil */ 112 - #define __NR_statfs 99 113 - #define __NR_fstatfs 100 114 - /* 101 was sys_ioperm */ 115 - #define __NR_socketcall 102 116 - #define __NR_syslog 103 117 - #define __NR_setitimer 104 118 - #define __NR_getitimer 105 119 - #define __NR_stat 106 120 - #define __NR_lstat 107 121 - #define __NR_fstat 108 122 - #define __NR_olduname 109 123 - /* 110 was sys_iopl */ 124 - #define __NR_vhangup 111 125 - /* 112 was sys_idle */ 126 - /* 113 was sys_vm86old */ 127 - #define __NR_wait4 114 128 - #define __NR_swapoff 115 129 - #define __NR_sysinfo 116 130 - #define __NR_ipc 117 131 - #define __NR_fsync 118 132 - #define __NR_sigreturn 119 133 - #define __NR_clone 120 134 - #define __NR_setdomainname 121 135 - #define __NR_uname 122 136 - #define __NR_cacheflush 123 137 - #define __NR_adjtimex 124 138 - #define __NR_mprotect 125 139 - #define __NR_sigprocmask 126 140 - /* 127 was sys_create_module */ 141 - #define __NR_init_module 128 142 - #define __NR_delete_module 129 143 - /* 130 was sys_get_kernel_syms */ 144 - #define __NR_quotactl 131 145 - #define __NR_getpgid 132 146 - #define __NR_fchdir 133 147 - #define __NR_bdflush 134 148 - #define __NR_sysfs 135 149 - #define __NR_personality 136 150 - /* 137 was sys_afs_syscall */ 151 - #define __NR_setfsuid 138 152 - #define __NR_setfsgid 139 153 - #define __NR__llseek 140 154 - #define __NR_getdents 141 155 - #define __NR__newselect 142 156 - #define __NR_flock 143 157 - #define __NR_msync 144 158 - #define __NR_readv 145 159 - #define __NR_writev 146 160 - #define __NR_getsid 147 161 - #define __NR_fdatasync 148 162 - #define __NR__sysctl 149 163 - #define __NR_mlock 150 164 - #define __NR_munlock 151 165 - #define __NR_mlockall 152 166 - #define __NR_munlockall 153 167 - #define __NR_sched_setparam 154 168 - #define __NR_sched_getparam 155 169 - #define __NR_sched_setscheduler 156 170 - #define __NR_sched_getscheduler 157 171 - #define __NR_sched_yield 158 172 - #define __NR_sched_get_priority_max 159 173 - #define __NR_sched_get_priority_min 160 174 - #define __NR_sched_rr_get_interval 161 175 - #define __NR_nanosleep 162 176 - #define __NR_mremap 163 177 - #define __NR_setresuid 164 178 - #define __NR_getresuid 165 179 - /* 166 was sys_vm86 */ 180 - /* 167 was sys_query_module */ 181 - #define __NR_poll 168 182 - #define __NR_nfsservctl 169 183 - #define __NR_setresgid 170 184 - #define __NR_getresgid 171 185 - #define __NR_prctl 172 186 - #define __NR_rt_sigreturn 173 187 - #define __NR_rt_sigaction 174 188 - #define __NR_rt_sigprocmask 175 189 - #define __NR_rt_sigpending 176 190 - #define __NR_rt_sigtimedwait 177 191 - #define __NR_rt_sigqueueinfo 178 192 - #define __NR_rt_sigsuspend 179 193 - #define __NR_pread64 180 194 - #define __NR_pwrite64 181 195 - #define __NR_chown 182 196 - #define __NR_getcwd 183 197 - #define __NR_capget 184 198 - #define __NR_capset 185 199 - #define __NR_sigaltstack 186 200 - #define __NR_sendfile 187 201 - /* 188 reserved for sys_getpmsg */ 202 - /* 189 reserved for sys_putpmsg */ 203 - #define __NR_vfork 190 204 - #define __NR_ugetrlimit 191 /* SuS compliant getrlimit */ 205 - #define __NR_mmap2 192 206 - #define __NR_truncate64 193 207 - #define __NR_ftruncate64 194 208 - #define __NR_stat64 195 209 - #define __NR_lstat64 196 210 - #define __NR_fstat64 197 211 - #define __NR_lchown32 198 212 - #define __NR_getuid32 199 213 - #define __NR_getgid32 200 214 - #define __NR_geteuid32 201 215 - #define __NR_getegid32 202 216 - #define __NR_setreuid32 203 217 - #define __NR_setregid32 204 218 - #define __NR_getgroups32 205 219 - #define __NR_setgroups32 206 220 - #define __NR_fchown32 207 221 - #define __NR_setresuid32 208 222 - #define __NR_getresuid32 209 223 - #define __NR_setresgid32 210 224 - #define __NR_getresgid32 211 225 - #define __NR_chown32 212 226 - #define __NR_setuid32 213 227 - #define __NR_setgid32 214 228 - #define __NR_setfsuid32 215 229 - #define __NR_setfsgid32 216 230 - #define __NR_pivot_root 217 231 - #define __NR_mincore 218 232 - #define __NR_madvise 219 233 - #define __NR_getdents64 220 234 - #define __NR_fcntl64 221 235 - /* 222 is reserved for tux */ 236 - /* 223 is unused */ 237 - #define __NR_gettid 224 238 - #define __NR_readahead 225 239 - #define __NR_setxattr 226 240 - #define __NR_lsetxattr 227 241 - #define __NR_fsetxattr 228 242 - #define __NR_getxattr 229 243 - #define __NR_lgetxattr 230 244 - #define __NR_fgetxattr 231 245 - #define __NR_listxattr 232 246 - #define __NR_llistxattr 233 247 - #define __NR_flistxattr 234 248 - #define __NR_removexattr 235 249 - #define __NR_lremovexattr 236 250 - #define __NR_fremovexattr 237 251 - #define __NR_tkill 238 252 - #define __NR_sendfile64 239 253 - #define __NR_futex 240 254 - #define __NR_sched_setaffinity 241 255 - #define __NR_sched_getaffinity 242 256 - /* 243 is reserved for set_thread_area */ 257 - /* 244 is reserved for get_thread_area */ 258 - #define __NR_io_setup 245 259 - #define __NR_io_destroy 246 260 - #define __NR_io_getevents 247 261 - #define __NR_io_submit 248 262 - #define __NR_io_cancel 249 263 - #define __NR_fadvise64 250 264 - /* 251 is unused */ 265 - #define __NR_exit_group 252 266 - #define __NR_lookup_dcookie 253 267 - #define __NR_epoll_create 254 268 - #define __NR_epoll_ctl 255 269 - #define __NR_epoll_wait 256 270 - #define __NR_remap_file_pages 257 271 - #define __NR_set_tid_address 258 272 - #define __NR_timer_create 259 273 - #define __NR_timer_settime (__NR_timer_create+1) 274 - #define __NR_timer_gettime (__NR_timer_create+2) 275 - #define __NR_timer_getoverrun (__NR_timer_create+3) 276 - #define __NR_timer_delete (__NR_timer_create+4) 277 - #define __NR_clock_settime (__NR_timer_create+5) 278 - #define __NR_clock_gettime (__NR_timer_create+6) 279 - #define __NR_clock_getres (__NR_timer_create+7) 280 - #define __NR_clock_nanosleep (__NR_timer_create+8) 281 - #define __NR_statfs64 268 282 - #define __NR_fstatfs64 269 283 - #define __NR_tgkill 270 284 - #define __NR_utimes 271 285 - #define __NR_fadvise64_64 272 286 - /* 273 is reserved for vserver */ 287 - #define __NR_mbind 274 288 - #define __NR_get_mempolicy 275 289 - #define __NR_set_mempolicy 276 290 - #define __NR_mq_open 277 291 - #define __NR_mq_unlink (__NR_mq_open+1) 292 - #define __NR_mq_timedsend (__NR_mq_open+2) 293 - #define __NR_mq_timedreceive (__NR_mq_open+3) 294 - #define __NR_mq_notify (__NR_mq_open+4) 295 - #define __NR_mq_getsetattr (__NR_mq_open+5) 296 - #define __NR_kexec_load 283 297 - #define __NR_waitid 284 298 - #define __NR_add_key 285 299 - #define __NR_request_key 286 300 - #define __NR_keyctl 287 301 - #define __NR_ioprio_set 288 302 - #define __NR_ioprio_get 289 303 - #define __NR_inotify_init 290 304 - #define __NR_inotify_add_watch 291 305 - #define __NR_inotify_rm_watch 292 306 - /* 293 is unused */ 307 - #define __NR_migrate_pages 294 308 - #define __NR_openat 295 309 - #define __NR_mkdirat 296 310 - #define __NR_mknodat 297 311 - #define __NR_fchownat 298 312 - #define __NR_futimesat 299 313 - #define __NR_fstatat64 300 314 - #define __NR_unlinkat 301 315 - #define __NR_renameat 302 316 - #define __NR_linkat 303 317 - #define __NR_symlinkat 304 318 - #define __NR_readlinkat 305 319 - #define __NR_fchmodat 306 320 - #define __NR_faccessat 307 321 - #define __NR_pselect6 308 322 - #define __NR_ppoll 309 323 - #define __NR_unshare 310 324 - #define __NR_set_robust_list 311 325 - #define __NR_get_robust_list 312 326 - #define __NR_splice 313 327 - #define __NR_sync_file_range 314 328 - #define __NR_tee 315 329 - #define __NR_vmsplice 316 330 - #define __NR_move_pages 317 331 - #define __NR_getcpu 318 332 - #define __NR_epoll_pwait 319 333 - #define __NR_utimensat 320 334 - #define __NR_signalfd 321 335 - #define __NR_timerfd_create 322 336 - #define __NR_eventfd 323 337 - #define __NR_fallocate 324 338 - #define __NR_timerfd_settime 325 339 - #define __NR_timerfd_gettime 326 340 - #define __NR_signalfd4 327 341 - #define __NR_eventfd2 328 342 - #define __NR_epoll_create1 329 343 - #define __NR_dup3 330 344 - #define __NR_pipe2 331 345 - #define __NR_inotify_init1 332 346 - #define __NR_preadv 333 347 - #define __NR_pwritev 334 348 - #define __NR_rt_tgsigqueueinfo 335 349 - #define __NR_perf_event_open 336 350 - #define __NR_fanotify_init 337 351 - #define __NR_fanotify_mark 338 352 - #define __NR_prlimit64 339 353 - 354 - /* Non-multiplexed socket family */ 355 - #define __NR_socket 340 356 - #define __NR_bind 341 357 - #define __NR_connect 342 358 - #define __NR_listen 343 359 - #define __NR_accept 344 360 - #define __NR_getsockname 345 361 - #define __NR_getpeername 346 362 - #define __NR_socketpair 347 363 - #define __NR_send 348 364 - #define __NR_sendto 349 365 - #define __NR_recv 350 366 - #define __NR_recvfrom 351 367 - #define __NR_shutdown 352 368 - #define __NR_setsockopt 353 369 - #define __NR_getsockopt 354 370 - #define __NR_sendmsg 355 371 - #define __NR_recvmsg 356 372 - #define __NR_recvmmsg 357 373 - #define __NR_accept4 358 374 - #define __NR_name_to_handle_at 359 375 - #define __NR_open_by_handle_at 360 376 - #define __NR_clock_adjtime 361 377 - #define __NR_syncfs 362 378 - #define __NR_sendmmsg 363 379 - #define __NR_setns 364 380 - #define __NR_process_vm_readv 365 381 - #define __NR_process_vm_writev 366 382 - #define __NR_kcmp 367 383 - #define __NR_finit_module 368 384 - #define __NR_sched_getattr 369 385 - #define __NR_sched_setattr 370 386 - #define __NR_renameat2 371 387 - #define __NR_seccomp 372 388 - #define __NR_getrandom 373 389 - #define __NR_memfd_create 374 390 - #define __NR_bpf 375 391 - #define __NR_execveat 376 392 - #define __NR_userfaultfd 377 393 - #define __NR_membarrier 378 394 - #define __NR_mlock2 379 395 - #define __NR_copy_file_range 380 396 - #define __NR_preadv2 381 397 - #define __NR_pwritev2 382 398 - 399 - #ifdef __KERNEL__ 400 - #define __NR_syscalls 383 401 - #endif 402 - 403 - #endif /* __ASM_SH_UNISTD_32_H */
+62 -26
arch/sh/kernel/syscalls/syscall.tbl
··· 20 20 10 common unlink sys_unlink 21 21 11 common execve sys_execve 22 22 12 common chdir sys_chdir 23 - 13 common time sys_time 23 + 13 common time sys_time32 24 24 14 common mknod sys_mknod 25 25 15 common chmod sys_chmod 26 26 16 common lchown sys_lchown16 ··· 32 32 22 common umount sys_oldumount 33 33 23 common setuid sys_setuid16 34 34 24 common getuid sys_getuid16 35 - 25 common stime sys_stime 35 + 25 common stime sys_stime32 36 36 26 common ptrace sys_ptrace 37 37 27 common alarm sys_alarm 38 38 28 common oldfstat sys_fstat 39 39 29 common pause sys_pause 40 - 30 common utime sys_utime 40 + 30 common utime sys_utime32 41 41 # 31 was stty 42 42 # 32 was gtty 43 43 33 common access sys_access ··· 131 131 121 common setdomainname sys_setdomainname 132 132 122 common uname sys_newuname 133 133 123 common cacheflush sys_cacheflush 134 - 124 common adjtimex sys_adjtimex 134 + 124 common adjtimex sys_adjtimex_time32 135 135 125 common mprotect sys_mprotect 136 136 126 common sigprocmask sys_sigprocmask 137 137 # 127 was create_module ··· 168 168 158 common sched_yield sys_sched_yield 169 169 159 common sched_get_priority_max sys_sched_get_priority_max 170 170 160 common sched_get_priority_min sys_sched_get_priority_min 171 - 161 common sched_rr_get_interval sys_sched_rr_get_interval 172 - 162 common nanosleep sys_nanosleep 171 + 161 common sched_rr_get_interval sys_sched_rr_get_interval_time32 172 + 162 common nanosleep sys_nanosleep_time32 173 173 163 common mremap sys_mremap 174 174 164 common setresuid sys_setresuid16 175 175 165 common getresuid sys_getresuid16 ··· 184 184 174 common rt_sigaction sys_rt_sigaction 185 185 175 common rt_sigprocmask sys_rt_sigprocmask 186 186 176 common rt_sigpending sys_rt_sigpending 187 - 177 common rt_sigtimedwait sys_rt_sigtimedwait 187 + 177 common rt_sigtimedwait sys_rt_sigtimedwait_time32 188 188 178 common rt_sigqueueinfo sys_rt_sigqueueinfo 189 189 179 common rt_sigsuspend sys_rt_sigsuspend 190 190 180 common pread64 sys_pread_wrapper ··· 247 247 237 common fremovexattr sys_fremovexattr 248 248 238 common tkill sys_tkill 249 249 239 common sendfile64 sys_sendfile64 250 - 240 common futex sys_futex 250 + 240 common futex sys_futex_time32 251 251 241 common sched_setaffinity sys_sched_setaffinity 252 252 242 common sched_getaffinity sys_sched_getaffinity 253 253 # 243 is reserved for set_thread_area 254 254 # 244 is reserved for get_thread_area 255 255 245 common io_setup sys_io_setup 256 256 246 common io_destroy sys_io_destroy 257 - 247 common io_getevents sys_io_getevents 257 + 247 common io_getevents sys_io_getevents_time32 258 258 248 common io_submit sys_io_submit 259 259 249 common io_cancel sys_io_cancel 260 260 250 common fadvise64 sys_fadvise64 ··· 267 267 257 common remap_file_pages sys_remap_file_pages 268 268 258 common set_tid_address sys_set_tid_address 269 269 259 common timer_create sys_timer_create 270 - 260 common timer_settime sys_timer_settime 271 - 261 common timer_gettime sys_timer_gettime 270 + 260 common timer_settime sys_timer_settime32 271 + 261 common timer_gettime sys_timer_gettime32 272 272 262 common timer_getoverrun sys_timer_getoverrun 273 273 263 common timer_delete sys_timer_delete 274 - 264 common clock_settime sys_clock_settime 275 - 265 common clock_gettime sys_clock_gettime 276 - 266 common clock_getres sys_clock_getres 277 - 267 common clock_nanosleep sys_clock_nanosleep 274 + 264 common clock_settime sys_clock_settime32 275 + 265 common clock_gettime sys_clock_gettime32 276 + 266 common clock_getres sys_clock_getres_time32 277 + 267 common clock_nanosleep sys_clock_nanosleep_time32 278 278 268 common statfs64 sys_statfs64 279 279 269 common fstatfs64 sys_fstatfs64 280 280 270 common tgkill sys_tgkill 281 - 271 common utimes sys_utimes 281 + 271 common utimes sys_utimes_time32 282 282 272 common fadvise64_64 sys_fadvise64_64_wrapper 283 283 # 273 is reserved for vserver 284 284 274 common mbind sys_mbind ··· 286 286 276 common set_mempolicy sys_set_mempolicy 287 287 277 common mq_open sys_mq_open 288 288 278 common mq_unlink sys_mq_unlink 289 - 279 common mq_timedsend sys_mq_timedsend 290 - 280 common mq_timedreceive sys_mq_timedreceive 289 + 279 common mq_timedsend sys_mq_timedsend_time32 290 + 280 common mq_timedreceive sys_mq_timedreceive_time32 291 291 281 common mq_notify sys_mq_notify 292 292 282 common mq_getsetattr sys_mq_getsetattr 293 293 283 common kexec_load sys_kexec_load ··· 306 306 296 common mkdirat sys_mkdirat 307 307 297 common mknodat sys_mknodat 308 308 298 common fchownat sys_fchownat 309 - 299 common futimesat sys_futimesat 309 + 299 common futimesat sys_futimesat_time32 310 310 300 common fstatat64 sys_fstatat64 311 311 301 common unlinkat sys_unlinkat 312 312 302 common renameat sys_renameat ··· 315 315 305 common readlinkat sys_readlinkat 316 316 306 common fchmodat sys_fchmodat 317 317 307 common faccessat sys_faccessat 318 - 308 common pselect6 sys_pselect6 319 - 309 common ppoll sys_ppoll 318 + 308 common pselect6 sys_pselect6_time32 319 + 309 common ppoll sys_ppoll_time32 320 320 310 common unshare sys_unshare 321 321 311 common set_robust_list sys_set_robust_list 322 322 312 common get_robust_list sys_get_robust_list ··· 327 327 317 common move_pages sys_move_pages 328 328 318 common getcpu sys_getcpu 329 329 319 common epoll_pwait sys_epoll_pwait 330 - 320 common utimensat sys_utimensat 330 + 320 common utimensat sys_utimensat_time32 331 331 321 common signalfd sys_signalfd 332 332 322 common timerfd_create sys_timerfd_create 333 333 323 common eventfd sys_eventfd 334 334 324 common fallocate sys_fallocate 335 - 325 common timerfd_settime sys_timerfd_settime 336 - 326 common timerfd_gettime sys_timerfd_gettime 335 + 325 common timerfd_settime sys_timerfd_settime32 336 + 326 common timerfd_gettime sys_timerfd_gettime32 337 337 327 common signalfd4 sys_signalfd4 338 338 328 common eventfd2 sys_eventfd2 339 339 329 common epoll_create1 sys_epoll_create1 ··· 364 364 354 common getsockopt sys_getsockopt 365 365 355 common sendmsg sys_sendmsg 366 366 356 common recvmsg sys_recvmsg 367 - 357 common recvmmsg sys_recvmmsg 367 + 357 common recvmmsg sys_recvmmsg_time32 368 368 358 common accept4 sys_accept4 369 369 359 common name_to_handle_at sys_name_to_handle_at 370 370 360 common open_by_handle_at sys_open_by_handle_at 371 - 361 common clock_adjtime sys_clock_adjtime 371 + 361 common clock_adjtime sys_clock_adjtime32 372 372 362 common syncfs sys_syncfs 373 373 363 common sendmmsg sys_sendmmsg 374 374 364 common setns sys_setns ··· 390 390 380 common copy_file_range sys_copy_file_range 391 391 381 common preadv2 sys_preadv2 392 392 382 common pwritev2 sys_pwritev2 393 + 383 common statx sys_statx 394 + 384 common pkey_mprotect sys_pkey_mprotect 395 + 385 common pkey_alloc sys_pkey_alloc 396 + 386 common pkey_free sys_pkey_free 397 + 387 common rseq sys_rseq 398 + # room for arch specific syscalls 399 + 393 common semget sys_semget 400 + 394 common semctl sys_semctl 401 + 395 common shmget sys_shmget 402 + 396 common shmctl sys_shmctl 403 + 397 common shmat sys_shmat 404 + 398 common shmdt sys_shmdt 405 + 399 common msgget sys_msgget 406 + 400 common msgsnd sys_msgsnd 407 + 401 common msgrcv sys_msgrcv 408 + 402 common msgctl sys_msgctl 409 + 403 common clock_gettime64 sys_clock_gettime 410 + 404 common clock_settime64 sys_clock_settime 411 + 405 common clock_adjtime64 sys_clock_adjtime 412 + 406 common clock_getres_time64 sys_clock_getres 413 + 407 common clock_nanosleep_time64 sys_clock_nanosleep 414 + 408 common timer_gettime64 sys_timer_gettime 415 + 409 common timer_settime64 sys_timer_settime 416 + 410 common timerfd_gettime64 sys_timerfd_gettime 417 + 411 common timerfd_settime64 sys_timerfd_settime 418 + 412 common utimensat_time64 sys_utimensat 419 + 413 common pselect6_time64 sys_pselect6 420 + 414 common ppoll_time64 sys_ppoll 421 + 416 common io_pgetevents_time64 sys_io_pgetevents 422 + 417 common recvmmsg_time64 sys_recvmmsg 423 + 418 common mq_timedsend_time64 sys_mq_timedsend 424 + 419 common mq_timedreceive_time64 sys_mq_timedreceive 425 + 420 common semtimedop_time64 sys_semtimedop 426 + 421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait 427 + 422 common futex_time64 sys_futex 428 + 423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
+1
arch/sparc/Kconfig
··· 49 49 50 50 config SPARC32 51 51 def_bool !64BIT 52 + select ARCH_32BIT_OFF_T 52 53 select ARCH_HAS_SYNC_DMA_FOR_CPU 53 54 select GENERIC_ATOMIC64 54 55 select CLZ_TAB
+4 -9
arch/sparc/include/asm/unistd.h
··· 30 30 #define __ARCH_WANT_SYS_GETHOSTNAME 31 31 #define __ARCH_WANT_SYS_PAUSE 32 32 #define __ARCH_WANT_SYS_SIGNAL 33 - #define __ARCH_WANT_SYS_TIME 34 - #define __ARCH_WANT_SYS_UTIME 33 + #define __ARCH_WANT_SYS_TIME32 34 + #define __ARCH_WANT_SYS_UTIME32 35 35 #define __ARCH_WANT_SYS_WAITPID 36 36 #define __ARCH_WANT_SYS_SOCKETCALL 37 37 #define __ARCH_WANT_SYS_FADVISE64 ··· 43 43 #ifdef __32bit_syscall_numbers__ 44 44 #define __ARCH_WANT_SYS_IPC 45 45 #else 46 - #define __ARCH_WANT_COMPAT_SYS_TIME 47 - #define __ARCH_WANT_SYS_UTIME32 46 + #define __ARCH_WANT_SYS_TIME 47 + #define __ARCH_WANT_SYS_UTIME 48 48 #define __ARCH_WANT_COMPAT_SYS_SENDFILE 49 49 #endif 50 50 ··· 58 58 #define __IGNORE_setresgid 59 59 #define __IGNORE_getresgid 60 60 #endif 61 - 62 - /* Sparc doesn't have protection keys. */ 63 - #define __IGNORE_pkey_mprotect 64 - #define __IGNORE_pkey_alloc 65 - #define __IGNORE_pkey_free 66 61 67 62 #endif /* _SPARC_UNISTD_H */
+59 -2
arch/sparc/kernel/sys_sparc_64.c
··· 28 28 #include <linux/random.h> 29 29 #include <linux/export.h> 30 30 #include <linux/context_tracking.h> 31 - 31 + #include <linux/timex.h> 32 32 #include <linux/uaccess.h> 33 + 33 34 #include <asm/utrap.h> 34 35 #include <asm/unistd.h> 35 36 ··· 345 344 goto out; 346 345 case SEMTIMEDOP: 347 346 err = sys_semtimedop(first, ptr, (unsigned int)second, 348 - (const struct timespec __user *) 347 + (const struct __kernel_timespec __user *) 349 348 (unsigned long) fifth); 350 349 goto out; 351 350 case SEMGET: ··· 543 542 out_unlock: 544 543 up_read(&uts_sem); 545 544 return err; 545 + } 546 + 547 + SYSCALL_DEFINE1(sparc_adjtimex, struct timex __user *, txc_p) 548 + { 549 + struct timex txc; /* Local copy of parameter */ 550 + struct __kernel_timex *kt = (void *)&txc; 551 + int ret; 552 + 553 + /* Copy the user data space into the kernel copy 554 + * structure. But bear in mind that the structures 555 + * may change 556 + */ 557 + if (copy_from_user(&txc, txc_p, sizeof(struct timex))) 558 + return -EFAULT; 559 + 560 + /* 561 + * override for sparc64 specific timeval type: tv_usec 562 + * is 32 bit wide instead of 64-bit in __kernel_timex 563 + */ 564 + kt->time.tv_usec = txc.time.tv_usec; 565 + ret = do_adjtimex(kt); 566 + txc.time.tv_usec = kt->time.tv_usec; 567 + 568 + return copy_to_user(txc_p, &txc, sizeof(struct timex)) ? -EFAULT : ret; 569 + } 570 + 571 + SYSCALL_DEFINE2(sparc_clock_adjtime, const clockid_t, which_clock,struct timex __user *, txc_p) 572 + { 573 + struct timex txc; /* Local copy of parameter */ 574 + struct __kernel_timex *kt = (void *)&txc; 575 + int ret; 576 + 577 + if (!IS_ENABLED(CONFIG_POSIX_TIMERS)) { 578 + pr_err_once("process %d (%s) attempted a POSIX timer syscall " 579 + "while CONFIG_POSIX_TIMERS is not set\n", 580 + current->pid, current->comm); 581 + 582 + return -ENOSYS; 583 + } 584 + 585 + /* Copy the user data space into the kernel copy 586 + * structure. But bear in mind that the structures 587 + * may change 588 + */ 589 + if (copy_from_user(&txc, txc_p, sizeof(struct timex))) 590 + return -EFAULT; 591 + 592 + /* 593 + * override for sparc64 specific timeval type: tv_usec 594 + * is 32 bit wide instead of 64-bit in __kernel_timex 595 + */ 596 + kt->time.tv_usec = txc.time.tv_usec; 597 + ret = do_clock_adjtime(which_clock, kt); 598 + txc.time.tv_usec = kt->time.tv_usec; 599 + 600 + return copy_to_user(txc_p, &txc, sizeof(struct timex)) ? -EFAULT : ret; 546 601 } 547 602 548 603 SYSCALL_DEFINE5(utrap_install, utrap_entry_t, type,
+89 -27
arch/sparc/kernel/syscalls/syscall.tbl
··· 44 44 28 common sigaltstack sys_sigaltstack compat_sys_sigaltstack 45 45 29 32 pause sys_pause 46 46 29 64 pause sys_nis_syscall 47 - 30 common utime sys_utime compat_sys_utime 47 + 30 32 utime sys_utime32 48 + 30 64 utime sys_utime 48 49 31 32 lchown32 sys_lchown 49 50 32 32 fchown32 sys_fchown 50 51 33 common access sys_access ··· 129 128 102 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction 130 129 103 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask 131 130 104 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending 132 - 105 common rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait 131 + 105 32 rt_sigtimedwait sys_rt_sigtimedwait_time32 compat_sys_rt_sigtimedwait_time32 132 + 105 64 rt_sigtimedwait sys_rt_sigtimedwait 133 133 106 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo 134 134 107 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend 135 135 108 32 setresuid32 sys_setresuid ··· 170 168 135 common socketpair sys_socketpair 171 169 136 common mkdir sys_mkdir 172 170 137 common rmdir sys_rmdir 173 - 138 common utimes sys_utimes compat_sys_utimes 171 + 138 32 utimes sys_utimes_time32 172 + 138 64 utimes sys_utimes 174 173 139 common stat64 sys_stat64 compat_sys_stat64 175 174 140 common sendfile64 sys_sendfile64 176 175 141 common getpeername sys_getpeername 177 - 142 common futex sys_futex compat_sys_futex 176 + 142 32 futex sys_futex_time32 177 + 142 64 futex sys_futex 178 178 143 common gettid sys_gettid 179 179 144 common getrlimit sys_getrlimit compat_sys_getrlimit 180 180 145 common setrlimit sys_setrlimit compat_sys_setrlimit ··· 262 258 216 64 sigreturn sys_nis_syscall 263 259 217 common clone sys_clone 264 260 218 common ioprio_get sys_ioprio_get 265 - 219 common adjtimex sys_adjtimex compat_sys_adjtimex 261 + 219 32 adjtimex sys_adjtimex_time32 262 + 219 64 adjtimex sys_sparc_adjtimex 266 263 220 32 sigprocmask sys_sigprocmask compat_sys_sigprocmask 267 264 220 64 sigprocmask sys_nis_syscall 268 265 221 common create_module sys_ni_syscall ··· 276 271 228 common setfsuid sys_setfsuid16 277 272 229 common setfsgid sys_setfsgid16 278 273 230 common _newselect sys_select compat_sys_select 279 - 231 32 time sys_time compat_sys_time 274 + 231 32 time sys_time32 280 275 232 common splice sys_splice 281 - 233 common stime sys_stime compat_sys_stime 276 + 233 32 stime sys_stime32 277 + 233 64 stime sys_stime 282 278 234 common statfs64 sys_statfs64 compat_sys_statfs64 283 279 235 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 284 280 236 common _llseek sys_llseek ··· 294 288 245 common sched_yield sys_sched_yield 295 289 246 common sched_get_priority_max sys_sched_get_priority_max 296 290 247 common sched_get_priority_min sys_sched_get_priority_min 297 - 248 common sched_rr_get_interval sys_sched_rr_get_interval compat_sys_sched_rr_get_interval 298 - 249 common nanosleep sys_nanosleep compat_sys_nanosleep 291 + 248 32 sched_rr_get_interval sys_sched_rr_get_interval_time32 292 + 248 64 sched_rr_get_interval sys_sched_rr_get_interval 293 + 249 32 nanosleep sys_nanosleep_time32 294 + 249 64 nanosleep sys_nanosleep 299 295 250 32 mremap sys_mremap 300 296 250 64 mremap sys_64_mremap 301 297 251 common _sysctl sys_sysctl compat_sys_sysctl ··· 306 298 254 32 nfsservctl sys_ni_syscall sys_nis_syscall 307 299 254 64 nfsservctl sys_nis_syscall 308 300 255 common sync_file_range sys_sync_file_range compat_sys_sync_file_range 309 - 256 common clock_settime sys_clock_settime compat_sys_clock_settime 310 - 257 common clock_gettime sys_clock_gettime compat_sys_clock_gettime 311 - 258 common clock_getres sys_clock_getres compat_sys_clock_getres 312 - 259 common clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep 301 + 256 32 clock_settime sys_clock_settime32 302 + 256 64 clock_settime sys_clock_settime 303 + 257 32 clock_gettime sys_clock_gettime32 304 + 257 64 clock_gettime sys_clock_gettime 305 + 258 32 clock_getres sys_clock_getres_time32 306 + 258 64 clock_getres sys_clock_getres 307 + 259 32 clock_nanosleep sys_clock_nanosleep_time32 308 + 259 64 clock_nanosleep sys_clock_nanosleep 313 309 260 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity 314 310 261 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity 315 - 262 common timer_settime sys_timer_settime compat_sys_timer_settime 316 - 263 common timer_gettime sys_timer_gettime compat_sys_timer_gettime 311 + 262 32 timer_settime sys_timer_settime32 312 + 262 64 timer_settime sys_timer_settime 313 + 263 32 timer_gettime sys_timer_gettime32 314 + 263 64 timer_gettime sys_timer_gettime 317 315 264 common timer_getoverrun sys_timer_getoverrun 318 316 265 common timer_delete sys_timer_delete 319 317 266 common timer_create sys_timer_create compat_sys_timer_create ··· 329 315 269 common io_destroy sys_io_destroy 330 316 270 common io_submit sys_io_submit compat_sys_io_submit 331 317 271 common io_cancel sys_io_cancel 332 - 272 common io_getevents sys_io_getevents compat_sys_io_getevents 318 + 272 32 io_getevents sys_io_getevents_time32 319 + 272 64 io_getevents sys_io_getevents 333 320 273 common mq_open sys_mq_open compat_sys_mq_open 334 321 274 common mq_unlink sys_mq_unlink 335 - 275 common mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend 336 - 276 common mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive 322 + 275 32 mq_timedsend sys_mq_timedsend_time32 323 + 275 64 mq_timedsend sys_mq_timedsend 324 + 276 32 mq_timedreceive sys_mq_timedreceive_time32 325 + 276 64 mq_timedreceive sys_mq_timedreceive 337 326 277 common mq_notify sys_mq_notify compat_sys_mq_notify 338 327 278 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr 339 328 279 common waitid sys_waitid compat_sys_waitid ··· 348 331 285 common mkdirat sys_mkdirat 349 332 286 common mknodat sys_mknodat 350 333 287 common fchownat sys_fchownat 351 - 288 common futimesat sys_futimesat compat_sys_futimesat 334 + 288 32 futimesat sys_futimesat_time32 335 + 288 64 futimesat sys_futimesat 352 336 289 common fstatat64 sys_fstatat64 compat_sys_fstatat64 353 337 290 common unlinkat sys_unlinkat 354 338 291 common renameat sys_renameat ··· 358 340 294 common readlinkat sys_readlinkat 359 341 295 common fchmodat sys_fchmodat 360 342 296 common faccessat sys_faccessat 361 - 297 common pselect6 sys_pselect6 compat_sys_pselect6 362 - 298 common ppoll sys_ppoll compat_sys_ppoll 343 + 297 32 pselect6 sys_pselect6_time32 compat_sys_pselect6_time32 344 + 297 64 pselect6 sys_pselect6 345 + 298 32 ppoll sys_ppoll_time32 compat_sys_ppoll_time32 346 + 298 64 ppoll sys_ppoll 363 347 299 common unshare sys_unshare 364 348 300 common set_robust_list sys_set_robust_list compat_sys_set_robust_list 365 349 301 common get_robust_list sys_get_robust_list compat_sys_get_robust_list ··· 373 353 307 common move_pages sys_move_pages compat_sys_move_pages 374 354 308 common getcpu sys_getcpu 375 355 309 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait 376 - 310 common utimensat sys_utimensat compat_sys_utimensat 356 + 310 32 utimensat sys_utimensat_time32 357 + 310 64 utimensat sys_utimensat 377 358 311 common signalfd sys_signalfd compat_sys_signalfd 378 359 312 common timerfd_create sys_timerfd_create 379 360 313 common eventfd sys_eventfd 380 361 314 common fallocate sys_fallocate compat_sys_fallocate 381 - 315 common timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime 382 - 316 common timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime 362 + 315 32 timerfd_settime sys_timerfd_settime32 363 + 315 64 timerfd_settime sys_timerfd_settime 364 + 316 32 timerfd_gettime sys_timerfd_gettime32 365 + 316 64 timerfd_gettime sys_timerfd_gettime 383 366 317 common signalfd4 sys_signalfd4 compat_sys_signalfd4 384 367 318 common eventfd2 sys_eventfd2 385 368 319 common epoll_create1 sys_epoll_create1 ··· 394 371 325 common pwritev sys_pwritev compat_sys_pwritev 395 372 326 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo 396 373 327 common perf_event_open sys_perf_event_open 397 - 328 common recvmmsg sys_recvmmsg compat_sys_recvmmsg 374 + 328 32 recvmmsg sys_recvmmsg_time32 compat_sys_recvmmsg_time32 375 + 328 64 recvmmsg sys_recvmmsg 398 376 329 common fanotify_init sys_fanotify_init 399 377 330 common fanotify_mark sys_fanotify_mark compat_sys_fanotify_mark 400 378 331 common prlimit64 sys_prlimit64 401 379 332 common name_to_handle_at sys_name_to_handle_at 402 380 333 common open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at 403 - 334 common clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime 381 + 334 32 clock_adjtime sys_clock_adjtime32 382 + 334 64 clock_adjtime sys_sparc_clock_adjtime 404 383 335 common syncfs sys_syncfs 405 384 336 common sendmmsg sys_sendmmsg compat_sys_sendmmsg 406 385 337 common setns sys_setns ··· 431 406 358 common preadv2 sys_preadv2 compat_sys_preadv2 432 407 359 common pwritev2 sys_pwritev2 compat_sys_pwritev2 433 408 360 common statx sys_statx 434 - 361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents 409 + 361 32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents 410 + 361 64 io_pgetevents sys_io_pgetevents 411 + 362 common pkey_mprotect sys_pkey_mprotect 412 + 363 common pkey_alloc sys_pkey_alloc 413 + 364 common pkey_free sys_pkey_free 414 + 365 common rseq sys_rseq 415 + # room for arch specific syscalls 416 + 392 64 semtimedop sys_semtimedop 417 + 393 common semget sys_semget 418 + 394 common semctl sys_semctl compat_sys_semctl 419 + 395 common shmget sys_shmget 420 + 396 common shmctl sys_shmctl compat_sys_shmctl 421 + 397 common shmat sys_shmat compat_sys_shmat 422 + 398 common shmdt sys_shmdt 423 + 399 common msgget sys_msgget 424 + 400 common msgsnd sys_msgsnd compat_sys_msgsnd 425 + 401 common msgrcv sys_msgrcv compat_sys_msgrcv 426 + 402 common msgctl sys_msgctl compat_sys_msgctl 427 + 403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime 428 + 404 32 clock_settime64 sys_clock_settime sys_clock_settime 429 + 405 32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime 430 + 406 32 clock_getres_time64 sys_clock_getres sys_clock_getres 431 + 407 32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep 432 + 408 32 timer_gettime64 sys_timer_gettime sys_timer_gettime 433 + 409 32 timer_settime64 sys_timer_settime sys_timer_settime 434 + 410 32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime 435 + 411 32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime 436 + 412 32 utimensat_time64 sys_utimensat sys_utimensat 437 + 413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64 438 + 414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64 439 + 416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents 440 + 417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64 441 + 418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend 442 + 419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive 443 + 420 32 semtimedop_time64 sys_semtimedop sys_semtimedop 444 + 421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64 445 + 422 32 futex_time64 sys_futex sys_futex 446 + 423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
+1
arch/unicore32/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 config UNICORE32 3 3 def_bool y 4 + select ARCH_32BIT_OFF_T 4 5 select ARCH_HAS_DEVMEM_IS_ALLOWED 5 6 select ARCH_MIGHT_HAVE_PC_PARPORT 6 7 select ARCH_MIGHT_HAVE_PC_SERIO
+3 -1
arch/unicore32/include/uapi/asm/unistd.h
··· 12 12 */ 13 13 14 14 #define __ARCH_WANT_RENAMEAT 15 + #define __ARCH_WANT_SET_GET_RLIMIT 16 + #define __ARCH_WANT_STAT64 17 + #define __ARCH_WANT_TIME32_SYSCALLS 15 18 16 19 /* Use the standard ABI for syscalls. */ 17 20 #include <asm-generic/unistd.h> 18 - #define __ARCH_WANT_STAT64 19 21 #define __ARCH_WANT_SYS_CLONE
+1
arch/x86/Kconfig
··· 46 46 select ACPI_LEGACY_TABLES_LOOKUP if ACPI 47 47 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI 48 48 select ANON_INODES 49 + select ARCH_32BIT_OFF_T if X86_32 49 50 select ARCH_CLOCKSOURCE_DATA 50 51 select ARCH_CLOCKSOURCE_INIT 51 52 select ARCH_DISCARD_MEMBLOCK
+58 -27
arch/x86/entry/syscalls/syscall_32.tbl
··· 24 24 10 i386 unlink sys_unlink __ia32_sys_unlink 25 25 11 i386 execve sys_execve __ia32_compat_sys_execve 26 26 12 i386 chdir sys_chdir __ia32_sys_chdir 27 - 13 i386 time sys_time __ia32_compat_sys_time 27 + 13 i386 time sys_time32 __ia32_sys_time32 28 28 14 i386 mknod sys_mknod __ia32_sys_mknod 29 29 15 i386 chmod sys_chmod __ia32_sys_chmod 30 30 16 i386 lchown sys_lchown16 __ia32_sys_lchown16 ··· 36 36 22 i386 umount sys_oldumount __ia32_sys_oldumount 37 37 23 i386 setuid sys_setuid16 __ia32_sys_setuid16 38 38 24 i386 getuid sys_getuid16 __ia32_sys_getuid16 39 - 25 i386 stime sys_stime __ia32_compat_sys_stime 39 + 25 i386 stime sys_stime32 __ia32_sys_stime32 40 40 26 i386 ptrace sys_ptrace __ia32_compat_sys_ptrace 41 41 27 i386 alarm sys_alarm __ia32_sys_alarm 42 42 28 i386 oldfstat sys_fstat __ia32_sys_fstat 43 43 29 i386 pause sys_pause __ia32_sys_pause 44 - 30 i386 utime sys_utime __ia32_compat_sys_utime 44 + 30 i386 utime sys_utime32 __ia32_sys_utime32 45 45 31 i386 stty 46 46 32 i386 gtty 47 47 33 i386 access sys_access __ia32_sys_access ··· 135 135 121 i386 setdomainname sys_setdomainname __ia32_sys_setdomainname 136 136 122 i386 uname sys_newuname __ia32_sys_newuname 137 137 123 i386 modify_ldt sys_modify_ldt __ia32_sys_modify_ldt 138 - 124 i386 adjtimex sys_adjtimex __ia32_compat_sys_adjtimex 138 + 124 i386 adjtimex sys_adjtimex_time32 __ia32_sys_adjtimex_time32 139 139 125 i386 mprotect sys_mprotect __ia32_sys_mprotect 140 140 126 i386 sigprocmask sys_sigprocmask __ia32_compat_sys_sigprocmask 141 141 127 i386 create_module ··· 172 172 158 i386 sched_yield sys_sched_yield __ia32_sys_sched_yield 173 173 159 i386 sched_get_priority_max sys_sched_get_priority_max __ia32_sys_sched_get_priority_max 174 174 160 i386 sched_get_priority_min sys_sched_get_priority_min __ia32_sys_sched_get_priority_min 175 - 161 i386 sched_rr_get_interval sys_sched_rr_get_interval __ia32_compat_sys_sched_rr_get_interval 176 - 162 i386 nanosleep sys_nanosleep __ia32_compat_sys_nanosleep 175 + 161 i386 sched_rr_get_interval sys_sched_rr_get_interval_time32 __ia32_sys_sched_rr_get_interval_time32 176 + 162 i386 nanosleep sys_nanosleep_time32 __ia32_sys_nanosleep_time32 177 177 163 i386 mremap sys_mremap __ia32_sys_mremap 178 178 164 i386 setresuid sys_setresuid16 __ia32_sys_setresuid16 179 179 165 i386 getresuid sys_getresuid16 __ia32_sys_getresuid16 ··· 188 188 174 i386 rt_sigaction sys_rt_sigaction __ia32_compat_sys_rt_sigaction 189 189 175 i386 rt_sigprocmask sys_rt_sigprocmask __ia32_sys_rt_sigprocmask 190 190 176 i386 rt_sigpending sys_rt_sigpending __ia32_compat_sys_rt_sigpending 191 - 177 i386 rt_sigtimedwait sys_rt_sigtimedwait __ia32_compat_sys_rt_sigtimedwait 191 + 177 i386 rt_sigtimedwait sys_rt_sigtimedwait_time32 __ia32_compat_sys_rt_sigtimedwait_time32 192 192 178 i386 rt_sigqueueinfo sys_rt_sigqueueinfo __ia32_compat_sys_rt_sigqueueinfo 193 193 179 i386 rt_sigsuspend sys_rt_sigsuspend __ia32_sys_rt_sigsuspend 194 194 180 i386 pread64 sys_pread64 __ia32_compat_sys_x86_pread ··· 251 251 237 i386 fremovexattr sys_fremovexattr __ia32_sys_fremovexattr 252 252 238 i386 tkill sys_tkill __ia32_sys_tkill 253 253 239 i386 sendfile64 sys_sendfile64 __ia32_sys_sendfile64 254 - 240 i386 futex sys_futex __ia32_compat_sys_futex 254 + 240 i386 futex sys_futex_time32 __ia32_sys_futex_time32 255 255 241 i386 sched_setaffinity sys_sched_setaffinity __ia32_compat_sys_sched_setaffinity 256 256 242 i386 sched_getaffinity sys_sched_getaffinity __ia32_compat_sys_sched_getaffinity 257 257 243 i386 set_thread_area sys_set_thread_area __ia32_sys_set_thread_area 258 258 244 i386 get_thread_area sys_get_thread_area __ia32_sys_get_thread_area 259 259 245 i386 io_setup sys_io_setup __ia32_compat_sys_io_setup 260 260 246 i386 io_destroy sys_io_destroy __ia32_sys_io_destroy 261 - 247 i386 io_getevents sys_io_getevents __ia32_compat_sys_io_getevents 261 + 247 i386 io_getevents sys_io_getevents_time32 __ia32_sys_io_getevents_time32 262 262 248 i386 io_submit sys_io_submit __ia32_compat_sys_io_submit 263 263 249 i386 io_cancel sys_io_cancel __ia32_sys_io_cancel 264 264 250 i386 fadvise64 sys_fadvise64 __ia32_compat_sys_x86_fadvise64 ··· 271 271 257 i386 remap_file_pages sys_remap_file_pages __ia32_sys_remap_file_pages 272 272 258 i386 set_tid_address sys_set_tid_address __ia32_sys_set_tid_address 273 273 259 i386 timer_create sys_timer_create __ia32_compat_sys_timer_create 274 - 260 i386 timer_settime sys_timer_settime __ia32_compat_sys_timer_settime 275 - 261 i386 timer_gettime sys_timer_gettime __ia32_compat_sys_timer_gettime 274 + 260 i386 timer_settime sys_timer_settime32 __ia32_sys_timer_settime32 275 + 261 i386 timer_gettime sys_timer_gettime32 __ia32_sys_timer_gettime32 276 276 262 i386 timer_getoverrun sys_timer_getoverrun __ia32_sys_timer_getoverrun 277 277 263 i386 timer_delete sys_timer_delete __ia32_sys_timer_delete 278 - 264 i386 clock_settime sys_clock_settime __ia32_compat_sys_clock_settime 279 - 265 i386 clock_gettime sys_clock_gettime __ia32_compat_sys_clock_gettime 280 - 266 i386 clock_getres sys_clock_getres __ia32_compat_sys_clock_getres 281 - 267 i386 clock_nanosleep sys_clock_nanosleep __ia32_compat_sys_clock_nanosleep 278 + 264 i386 clock_settime sys_clock_settime32 __ia32_sys_clock_settime32 279 + 265 i386 clock_gettime sys_clock_gettime32 __ia32_sys_clock_gettime32 280 + 266 i386 clock_getres sys_clock_getres_time32 __ia32_sys_clock_getres_time32 281 + 267 i386 clock_nanosleep sys_clock_nanosleep_time32 __ia32_sys_clock_nanosleep_time32 282 282 268 i386 statfs64 sys_statfs64 __ia32_compat_sys_statfs64 283 283 269 i386 fstatfs64 sys_fstatfs64 __ia32_compat_sys_fstatfs64 284 284 270 i386 tgkill sys_tgkill __ia32_sys_tgkill 285 - 271 i386 utimes sys_utimes __ia32_compat_sys_utimes 285 + 271 i386 utimes sys_utimes_time32 __ia32_sys_utimes_time32 286 286 272 i386 fadvise64_64 sys_fadvise64_64 __ia32_compat_sys_x86_fadvise64_64 287 287 273 i386 vserver 288 288 274 i386 mbind sys_mbind __ia32_sys_mbind ··· 290 290 276 i386 set_mempolicy sys_set_mempolicy __ia32_sys_set_mempolicy 291 291 277 i386 mq_open sys_mq_open __ia32_compat_sys_mq_open 292 292 278 i386 mq_unlink sys_mq_unlink __ia32_sys_mq_unlink 293 - 279 i386 mq_timedsend sys_mq_timedsend __ia32_compat_sys_mq_timedsend 294 - 280 i386 mq_timedreceive sys_mq_timedreceive __ia32_compat_sys_mq_timedreceive 293 + 279 i386 mq_timedsend sys_mq_timedsend_time32 __ia32_sys_mq_timedsend_time32 294 + 280 i386 mq_timedreceive sys_mq_timedreceive_time32 __ia32_sys_mq_timedreceive_time32 295 295 281 i386 mq_notify sys_mq_notify __ia32_compat_sys_mq_notify 296 296 282 i386 mq_getsetattr sys_mq_getsetattr __ia32_compat_sys_mq_getsetattr 297 297 283 i386 kexec_load sys_kexec_load __ia32_compat_sys_kexec_load ··· 310 310 296 i386 mkdirat sys_mkdirat __ia32_sys_mkdirat 311 311 297 i386 mknodat sys_mknodat __ia32_sys_mknodat 312 312 298 i386 fchownat sys_fchownat __ia32_sys_fchownat 313 - 299 i386 futimesat sys_futimesat __ia32_compat_sys_futimesat 313 + 299 i386 futimesat sys_futimesat_time32 __ia32_sys_futimesat_time32 314 314 300 i386 fstatat64 sys_fstatat64 __ia32_compat_sys_x86_fstatat 315 315 301 i386 unlinkat sys_unlinkat __ia32_sys_unlinkat 316 316 302 i386 renameat sys_renameat __ia32_sys_renameat ··· 319 319 305 i386 readlinkat sys_readlinkat __ia32_sys_readlinkat 320 320 306 i386 fchmodat sys_fchmodat __ia32_sys_fchmodat 321 321 307 i386 faccessat sys_faccessat __ia32_sys_faccessat 322 - 308 i386 pselect6 sys_pselect6 __ia32_compat_sys_pselect6 323 - 309 i386 ppoll sys_ppoll __ia32_compat_sys_ppoll 322 + 308 i386 pselect6 sys_pselect6_time32 __ia32_compat_sys_pselect6_time32 323 + 309 i386 ppoll sys_ppoll_time32 __ia32_compat_sys_ppoll_time32 324 324 310 i386 unshare sys_unshare __ia32_sys_unshare 325 325 311 i386 set_robust_list sys_set_robust_list __ia32_compat_sys_set_robust_list 326 326 312 i386 get_robust_list sys_get_robust_list __ia32_compat_sys_get_robust_list ··· 331 331 317 i386 move_pages sys_move_pages __ia32_compat_sys_move_pages 332 332 318 i386 getcpu sys_getcpu __ia32_sys_getcpu 333 333 319 i386 epoll_pwait sys_epoll_pwait __ia32_sys_epoll_pwait 334 - 320 i386 utimensat sys_utimensat __ia32_compat_sys_utimensat 334 + 320 i386 utimensat sys_utimensat_time32 __ia32_sys_utimensat_time32 335 335 321 i386 signalfd sys_signalfd __ia32_compat_sys_signalfd 336 336 322 i386 timerfd_create sys_timerfd_create __ia32_sys_timerfd_create 337 337 323 i386 eventfd sys_eventfd __ia32_sys_eventfd 338 338 324 i386 fallocate sys_fallocate __ia32_compat_sys_x86_fallocate 339 - 325 i386 timerfd_settime sys_timerfd_settime __ia32_compat_sys_timerfd_settime 340 - 326 i386 timerfd_gettime sys_timerfd_gettime __ia32_compat_sys_timerfd_gettime 339 + 325 i386 timerfd_settime sys_timerfd_settime32 __ia32_sys_timerfd_settime32 340 + 326 i386 timerfd_gettime sys_timerfd_gettime32 __ia32_sys_timerfd_gettime32 341 341 327 i386 signalfd4 sys_signalfd4 __ia32_compat_sys_signalfd4 342 342 328 i386 eventfd2 sys_eventfd2 __ia32_sys_eventfd2 343 343 329 i386 epoll_create1 sys_epoll_create1 __ia32_sys_epoll_create1 ··· 348 348 334 i386 pwritev sys_pwritev __ia32_compat_sys_pwritev 349 349 335 i386 rt_tgsigqueueinfo sys_rt_tgsigqueueinfo __ia32_compat_sys_rt_tgsigqueueinfo 350 350 336 i386 perf_event_open sys_perf_event_open __ia32_sys_perf_event_open 351 - 337 i386 recvmmsg sys_recvmmsg __ia32_compat_sys_recvmmsg 351 + 337 i386 recvmmsg sys_recvmmsg_time32 __ia32_compat_sys_recvmmsg_time32 352 352 338 i386 fanotify_init sys_fanotify_init __ia32_sys_fanotify_init 353 353 339 i386 fanotify_mark sys_fanotify_mark __ia32_compat_sys_fanotify_mark 354 354 340 i386 prlimit64 sys_prlimit64 __ia32_sys_prlimit64 355 355 341 i386 name_to_handle_at sys_name_to_handle_at __ia32_sys_name_to_handle_at 356 356 342 i386 open_by_handle_at sys_open_by_handle_at __ia32_compat_sys_open_by_handle_at 357 - 343 i386 clock_adjtime sys_clock_adjtime __ia32_compat_sys_clock_adjtime 357 + 343 i386 clock_adjtime sys_clock_adjtime32 __ia32_sys_clock_adjtime32 358 358 344 i386 syncfs sys_syncfs __ia32_sys_syncfs 359 359 345 i386 sendmmsg sys_sendmmsg __ia32_compat_sys_sendmmsg 360 360 346 i386 setns sys_setns __ia32_sys_setns ··· 396 396 382 i386 pkey_free sys_pkey_free __ia32_sys_pkey_free 397 397 383 i386 statx sys_statx __ia32_sys_statx 398 398 384 i386 arch_prctl sys_arch_prctl __ia32_compat_sys_arch_prctl 399 - 385 i386 io_pgetevents sys_io_pgetevents __ia32_compat_sys_io_pgetevents 399 + 385 i386 io_pgetevents sys_io_pgetevents_time32 __ia32_compat_sys_io_pgetevents 400 400 386 i386 rseq sys_rseq __ia32_sys_rseq 401 + # don't use numbers 387 through 392, add new calls at the end 402 + 393 i386 semget sys_semget __ia32_sys_semget 403 + 394 i386 semctl sys_semctl __ia32_compat_sys_semctl 404 + 395 i386 shmget sys_shmget __ia32_sys_shmget 405 + 396 i386 shmctl sys_shmctl __ia32_compat_sys_shmctl 406 + 397 i386 shmat sys_shmat __ia32_compat_sys_shmat 407 + 398 i386 shmdt sys_shmdt __ia32_sys_shmdt 408 + 399 i386 msgget sys_msgget __ia32_sys_msgget 409 + 400 i386 msgsnd sys_msgsnd __ia32_compat_sys_msgsnd 410 + 401 i386 msgrcv sys_msgrcv __ia32_compat_sys_msgrcv 411 + 402 i386 msgctl sys_msgctl __ia32_compat_sys_msgctl 412 + 403 i386 clock_gettime64 sys_clock_gettime __ia32_sys_clock_gettime 413 + 404 i386 clock_settime64 sys_clock_settime __ia32_sys_clock_settime 414 + 405 i386 clock_adjtime64 sys_clock_adjtime __ia32_sys_clock_adjtime 415 + 406 i386 clock_getres_time64 sys_clock_getres __ia32_sys_clock_getres 416 + 407 i386 clock_nanosleep_time64 sys_clock_nanosleep __ia32_sys_clock_nanosleep 417 + 408 i386 timer_gettime64 sys_timer_gettime __ia32_sys_timer_gettime 418 + 409 i386 timer_settime64 sys_timer_settime __ia32_sys_timer_settime 419 + 410 i386 timerfd_gettime64 sys_timerfd_gettime __ia32_sys_timerfd_gettime 420 + 411 i386 timerfd_settime64 sys_timerfd_settime __ia32_sys_timerfd_settime 421 + 412 i386 utimensat_time64 sys_utimensat __ia32_sys_utimensat 422 + 413 i386 pselect6_time64 sys_pselect6 __ia32_compat_sys_pselect6_time64 423 + 414 i386 ppoll_time64 sys_ppoll __ia32_compat_sys_ppoll_time64 424 + 416 i386 io_pgetevents_time64 sys_io_pgetevents __ia32_sys_io_pgetevents 425 + 417 i386 recvmmsg_time64 sys_recvmmsg __ia32_compat_sys_recvmmsg_time64 426 + 418 i386 mq_timedsend_time64 sys_mq_timedsend __ia32_sys_mq_timedsend 427 + 419 i386 mq_timedreceive_time64 sys_mq_timedreceive __ia32_sys_mq_timedreceive 428 + 420 i386 semtimedop_time64 sys_semtimedop __ia32_sys_semtimedop 429 + 421 i386 rt_sigtimedwait_time64 sys_rt_sigtimedwait __ia32_compat_sys_rt_sigtimedwait_time64 430 + 422 i386 futex_time64 sys_futex __ia32_sys_futex 431 + 423 i386 sched_rr_get_interval_time64 sys_sched_rr_get_interval __ia32_sys_sched_rr_get_interval
+4 -2
arch/x86/entry/syscalls/syscall_64.tbl
··· 343 343 332 common statx __x64_sys_statx 344 344 333 common io_pgetevents __x64_sys_io_pgetevents 345 345 334 common rseq __x64_sys_rseq 346 + # don't use numbers 387 through 423, add new calls after the last 347 + # 'common' entry 346 348 347 349 # 348 350 # x32-specific system call numbers start at 512 to avoid cache impact ··· 363 361 520 x32 execve __x32_compat_sys_execve/ptregs 364 362 521 x32 ptrace __x32_compat_sys_ptrace 365 363 522 x32 rt_sigpending __x32_compat_sys_rt_sigpending 366 - 523 x32 rt_sigtimedwait __x32_compat_sys_rt_sigtimedwait 364 + 523 x32 rt_sigtimedwait __x32_compat_sys_rt_sigtimedwait_time64 367 365 524 x32 rt_sigqueueinfo __x32_compat_sys_rt_sigqueueinfo 368 366 525 x32 sigaltstack __x32_compat_sys_sigaltstack 369 367 526 x32 timer_create __x32_compat_sys_timer_create ··· 377 375 534 x32 preadv __x32_compat_sys_preadv64 378 376 535 x32 pwritev __x32_compat_sys_pwritev64 379 377 536 x32 rt_tgsigqueueinfo __x32_compat_sys_rt_tgsigqueueinfo 380 - 537 x32 recvmmsg __x32_compat_sys_recvmmsg 378 + 537 x32 recvmmsg __x32_compat_sys_recvmmsg_time64 381 379 538 x32 sendmmsg __x32_compat_sys_sendmmsg 382 380 539 x32 process_vm_readv __x32_compat_sys_process_vm_readv 383 381 540 x32 process_vm_writev __x32_compat_sys_process_vm_writev
+4 -4
arch/x86/include/asm/unistd.h
··· 23 23 24 24 # include <asm/unistd_64.h> 25 25 # include <asm/unistd_64_x32.h> 26 - # define __ARCH_WANT_COMPAT_SYS_TIME 27 - # define __ARCH_WANT_SYS_UTIME32 26 + # define __ARCH_WANT_SYS_TIME 27 + # define __ARCH_WANT_SYS_UTIME 28 28 # define __ARCH_WANT_COMPAT_SYS_PREADV64 29 29 # define __ARCH_WANT_COMPAT_SYS_PWRITEV64 30 30 # define __ARCH_WANT_COMPAT_SYS_PREADV64V2 ··· 48 48 # define __ARCH_WANT_SYS_SIGPENDING 49 49 # define __ARCH_WANT_SYS_SIGPROCMASK 50 50 # define __ARCH_WANT_SYS_SOCKETCALL 51 - # define __ARCH_WANT_SYS_TIME 52 - # define __ARCH_WANT_SYS_UTIME 51 + # define __ARCH_WANT_SYS_TIME32 52 + # define __ARCH_WANT_SYS_UTIME32 53 53 # define __ARCH_WANT_SYS_WAITPID 54 54 # define __ARCH_WANT_SYS_FORK 55 55 # define __ARCH_WANT_SYS_VFORK
+1
arch/x86/um/Kconfig
··· 16 16 17 17 config X86_32 18 18 def_bool !64BIT 19 + select ARCH_32BIT_OFF_T 19 20 select ARCH_WANT_IPC_PARSE_VERSION 20 21 select MODULES_USE_ELF_REL 21 22 select CLONE_BACKWARDS
+1
arch/xtensa/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 config XTENSA 3 3 def_bool y 4 + select ARCH_32BIT_OFF_T 4 5 select ARCH_HAS_SYNC_DMA_FOR_CPU 5 6 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 6 7 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
+1 -13
arch/xtensa/include/asm/unistd.h
··· 7 7 8 8 #define __ARCH_WANT_NEW_STAT 9 9 #define __ARCH_WANT_STAT64 10 - #define __ARCH_WANT_SYS_UTIME 10 + #define __ARCH_WANT_SYS_UTIME32 11 11 #define __ARCH_WANT_SYS_GETPGRP 12 - 13 - /* 14 - * Ignore legacy system calls in the checksyscalls.sh script 15 - */ 16 - 17 - #define __IGNORE_fork /* use clone */ 18 - #define __IGNORE_time 19 - #define __IGNORE_alarm /* use setitimer */ 20 - #define __IGNORE_pause 21 - #define __IGNORE_mmap /* use mmap2 */ 22 - #define __IGNORE_vfork /* use clone */ 23 - #define __IGNORE_fadvise64 /* use fadvise64_64 */ 24 12 25 13 #define NR_syscalls __NR_syscalls 26 14
+50 -28
arch/xtensa/kernel/syscalls/syscall.tbl
··· 72 72 61 common fcntl64 sys_fcntl64 73 73 62 common fallocate sys_fallocate 74 74 63 common fadvise64_64 xtensa_fadvise64_64 75 - 64 common utime sys_utime 76 - 65 common utimes sys_utimes 75 + 64 common utime sys_utime32 76 + 65 common utimes sys_utimes_time32 77 77 66 common ioctl sys_ioctl 78 78 67 common fcntl sys_fcntl 79 79 68 common setxattr sys_setxattr ··· 103 103 91 common madvise sys_madvise 104 104 92 common shmget sys_shmget 105 105 93 common shmat xtensa_shmat 106 - 94 common shmctl sys_shmctl 106 + 94 common shmctl sys_old_shmctl 107 107 95 common shmdt sys_shmdt 108 108 # Socket Operations 109 109 96 common socket sys_socket ··· 174 174 158 common capget sys_capget 175 175 159 common capset sys_capset 176 176 160 common ptrace sys_ptrace 177 - 161 common semtimedop sys_semtimedop 177 + 161 common semtimedop sys_semtimedop_time32 178 178 162 common semget sys_semget 179 179 163 common semop sys_semop 180 - 164 common semctl sys_semctl 180 + 164 common semctl sys_old_semctl 181 181 165 common available165 sys_ni_syscall 182 182 166 common msgget sys_msgget 183 183 167 common msgsnd sys_msgsnd 184 184 168 common msgrcv sys_msgrcv 185 - 169 common msgctl sys_msgctl 185 + 169 common msgctl sys_old_msgctl 186 186 170 common available170 sys_ni_syscall 187 187 # File System 188 188 171 common umount2 sys_umount ··· 206 206 188 common setrlimit sys_setrlimit 207 207 189 common getrlimit sys_getrlimit 208 208 190 common getrusage sys_getrusage 209 - 191 common futex sys_futex 209 + 191 common futex sys_futex_time32 210 210 192 common gettimeofday sys_gettimeofday 211 211 193 common settimeofday sys_settimeofday 212 - 194 common adjtimex sys_adjtimex 213 - 195 common nanosleep sys_nanosleep 212 + 194 common adjtimex sys_adjtimex_time32 213 + 195 common nanosleep sys_nanosleep_time32 214 214 196 common getgroups sys_getgroups 215 215 197 common setgroups sys_setgroups 216 216 198 common sethostname sys_sethostname ··· 234 234 215 common sched_getscheduler sys_sched_getscheduler 235 235 216 common sched_get_priority_max sys_sched_get_priority_max 236 236 217 common sched_get_priority_min sys_sched_get_priority_min 237 - 218 common sched_rr_get_interval sys_sched_rr_get_interval 237 + 218 common sched_rr_get_interval sys_sched_rr_get_interval_time32 238 238 219 common sched_yield sys_sched_yield 239 239 222 common available222 sys_ni_syscall 240 240 # Signal Handling ··· 244 244 226 common rt_sigaction sys_rt_sigaction 245 245 227 common rt_sigprocmask sys_rt_sigprocmask 246 246 228 common rt_sigpending sys_rt_sigpending 247 - 229 common rt_sigtimedwait sys_rt_sigtimedwait 247 + 229 common rt_sigtimedwait sys_rt_sigtimedwait_time32 248 248 230 common rt_sigqueueinfo sys_rt_sigqueueinfo 249 249 231 common rt_sigsuspend sys_rt_sigsuspend 250 250 # Message 251 251 232 common mq_open sys_mq_open 252 252 233 common mq_unlink sys_mq_unlink 253 - 234 common mq_timedsend sys_mq_timedsend 254 - 235 common mq_timedreceive sys_mq_timedreceive 253 + 234 common mq_timedsend sys_mq_timedsend_time32 254 + 235 common mq_timedreceive sys_mq_timedreceive_time32 255 255 236 common mq_notify sys_mq_notify 256 256 237 common mq_getsetattr sys_mq_getsetattr 257 257 238 common available238 sys_ni_syscall ··· 259 259 # IO 260 260 240 common io_destroy sys_io_destroy 261 261 241 common io_submit sys_io_submit 262 - 242 common io_getevents sys_io_getevents 262 + 242 common io_getevents sys_io_getevents_time32 263 263 243 common io_cancel sys_io_cancel 264 - 244 common clock_settime sys_clock_settime 265 - 245 common clock_gettime sys_clock_gettime 266 - 246 common clock_getres sys_clock_getres 267 - 247 common clock_nanosleep sys_clock_nanosleep 264 + 244 common clock_settime sys_clock_settime32 265 + 245 common clock_gettime sys_clock_gettime32 266 + 246 common clock_getres sys_clock_getres_time32 267 + 247 common clock_nanosleep sys_clock_nanosleep_time32 268 268 # Timer 269 269 248 common timer_create sys_timer_create 270 270 249 common timer_delete sys_timer_delete 271 - 250 common timer_settime sys_timer_settime 272 - 251 common timer_gettime sys_timer_gettime 271 + 250 common timer_settime sys_timer_settime32 272 + 251 common timer_gettime sys_timer_gettime32 273 273 252 common timer_getoverrun sys_timer_getoverrun 274 274 # System 275 275 253 common reserved253 sys_ni_syscall ··· 291 291 269 common tee sys_tee 292 292 270 common vmsplice sys_vmsplice 293 293 271 common available271 sys_ni_syscall 294 - 272 common pselect6 sys_pselect6 295 - 273 common ppoll sys_ppoll 294 + 272 common pselect6 sys_pselect6_time32 295 + 273 common ppoll sys_ppoll_time32 296 296 274 common epoll_pwait sys_epoll_pwait 297 297 275 common epoll_create1 sys_epoll_create1 298 298 276 common inotify_init sys_inotify_init ··· 316 316 293 common linkat sys_linkat 317 317 294 common symlinkat sys_symlinkat 318 318 295 common readlinkat sys_readlinkat 319 - 296 common utimensat sys_utimensat 319 + 296 common utimensat sys_utimensat_time32 320 320 297 common fchownat sys_fchownat 321 - 298 common futimesat sys_futimesat 321 + 298 common futimesat sys_futimesat_time32 322 322 299 common fstatat64 sys_fstatat64 323 323 300 common fchmodat sys_fchmodat 324 324 301 common faccessat sys_faccessat ··· 327 327 304 common signalfd sys_signalfd 328 328 # 305 was timerfd 329 329 306 common eventfd sys_eventfd 330 - 307 common recvmmsg sys_recvmmsg 330 + 307 common recvmmsg sys_recvmmsg_time32 331 331 308 common setns sys_setns 332 332 309 common signalfd4 sys_signalfd4 333 333 310 common dup3 sys_dup3 334 334 311 common pipe2 sys_pipe2 335 335 312 common timerfd_create sys_timerfd_create 336 - 313 common timerfd_settime sys_timerfd_settime 337 - 314 common timerfd_gettime sys_timerfd_gettime 336 + 313 common timerfd_settime sys_timerfd_settime32 337 + 314 common timerfd_gettime sys_timerfd_gettime32 338 338 315 common available315 sys_ni_syscall 339 339 316 common eventfd2 sys_eventfd2 340 340 317 common preadv sys_preadv ··· 349 349 326 common sync_file_range2 sys_sync_file_range2 350 350 327 common perf_event_open sys_perf_event_open 351 351 328 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo 352 - 329 common clock_adjtime sys_clock_adjtime 352 + 329 common clock_adjtime sys_clock_adjtime32 353 353 330 common prlimit64 sys_prlimit64 354 354 331 common kcmp sys_kcmp 355 355 332 common finit_module sys_finit_module ··· 372 372 349 common pkey_alloc sys_pkey_alloc 373 373 350 common pkey_free sys_pkey_free 374 374 351 common statx sys_statx 375 + 352 common rseq sys_rseq 376 + # 353 through 402 are unassigned to sync up with generic numbers 377 + 403 common clock_gettime64 sys_clock_gettime 378 + 404 common clock_settime64 sys_clock_settime 379 + 405 common clock_adjtime64 sys_clock_adjtime 380 + 406 common clock_getres_time64 sys_clock_getres 381 + 407 common clock_nanosleep_time64 sys_clock_nanosleep 382 + 408 common timer_gettime64 sys_timer_gettime 383 + 409 common timer_settime64 sys_timer_settime 384 + 410 common timerfd_gettime64 sys_timerfd_gettime 385 + 411 common timerfd_settime64 sys_timerfd_settime 386 + 412 common utimensat_time64 sys_utimensat 387 + 413 common pselect6_time64 sys_pselect6 388 + 414 common ppoll_time64 sys_ppoll 389 + 416 common io_pgetevents_time64 sys_io_pgetevents 390 + 417 common recvmmsg_time64 sys_recvmmsg 391 + 418 common mq_timedsend_time64 sys_mq_timedsend 392 + 419 common mq_timedreceive_time64 sys_mq_timedreceive 393 + 420 common semtimedop_time64 sys_semtimedop 394 + 421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait 395 + 422 common futex_time64 sys_futex 396 + 423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
+1 -1
drivers/ptp/ptp_clock.c
··· 124 124 return err; 125 125 } 126 126 127 - static int ptp_clock_adjtime(struct posix_clock *pc, struct timex *tx) 127 + static int ptp_clock_adjtime(struct posix_clock *pc, struct __kernel_timex *tx) 128 128 { 129 129 struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock); 130 130 struct ptp_clock_info *ops;
+5 -5
fs/aio.c
··· 2191 2191 2192 2192 #if defined(CONFIG_COMPAT_32BIT_TIME) 2193 2193 2194 - COMPAT_SYSCALL_DEFINE5(io_getevents, compat_aio_context_t, ctx_id, 2195 - compat_long_t, min_nr, 2196 - compat_long_t, nr, 2197 - struct io_event __user *, events, 2198 - struct old_timespec32 __user *, timeout) 2194 + SYSCALL_DEFINE5(io_getevents_time32, __u32, ctx_id, 2195 + __s32, min_nr, 2196 + __s32, nr, 2197 + struct io_event __user *, events, 2198 + struct old_timespec32 __user *, timeout) 2199 2199 { 2200 2200 struct timespec64 t; 2201 2201 int ret;
+2 -2
fs/select.c
··· 1379 1379 1380 1380 #if defined(CONFIG_COMPAT_32BIT_TIME) 1381 1381 1382 - COMPAT_SYSCALL_DEFINE6(pselect6, int, n, compat_ulong_t __user *, inp, 1382 + COMPAT_SYSCALL_DEFINE6(pselect6_time32, int, n, compat_ulong_t __user *, inp, 1383 1383 compat_ulong_t __user *, outp, compat_ulong_t __user *, exp, 1384 1384 struct old_timespec32 __user *, tsp, void __user *, sig) 1385 1385 { ··· 1402 1402 #endif 1403 1403 1404 1404 #if defined(CONFIG_COMPAT_32BIT_TIME) 1405 - COMPAT_SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, 1405 + COMPAT_SYSCALL_DEFINE5(ppoll_time32, struct pollfd __user *, ufds, 1406 1406 unsigned int, nfds, struct old_timespec32 __user *, tsp, 1407 1407 const compat_sigset_t __user *, sigmask, compat_size_t, sigsetsize) 1408 1408 {
+2 -2
fs/timerfd.c
··· 560 560 } 561 561 562 562 #ifdef CONFIG_COMPAT_32BIT_TIME 563 - COMPAT_SYSCALL_DEFINE4(timerfd_settime, int, ufd, int, flags, 563 + SYSCALL_DEFINE4(timerfd_settime32, int, ufd, int, flags, 564 564 const struct old_itimerspec32 __user *, utmr, 565 565 struct old_itimerspec32 __user *, otmr) 566 566 { ··· 577 577 return ret; 578 578 } 579 579 580 - COMPAT_SYSCALL_DEFINE2(timerfd_gettime, int, ufd, 580 + SYSCALL_DEFINE2(timerfd_gettime32, int, ufd, 581 581 struct old_itimerspec32 __user *, otmr) 582 582 { 583 583 struct itimerspec64 kotmr;
+5 -5
fs/utimes.c
··· 224 224 * of sys_utimes. 225 225 */ 226 226 #ifdef __ARCH_WANT_SYS_UTIME32 227 - COMPAT_SYSCALL_DEFINE2(utime, const char __user *, filename, 228 - struct old_utimbuf32 __user *, t) 227 + SYSCALL_DEFINE2(utime32, const char __user *, filename, 228 + struct old_utimbuf32 __user *, t) 229 229 { 230 230 struct timespec64 tv[2]; 231 231 ··· 240 240 } 241 241 #endif 242 242 243 - COMPAT_SYSCALL_DEFINE4(utimensat, unsigned int, dfd, const char __user *, filename, struct old_timespec32 __user *, t, int, flags) 243 + SYSCALL_DEFINE4(utimensat_time32, unsigned int, dfd, const char __user *, filename, struct old_timespec32 __user *, t, int, flags) 244 244 { 245 245 struct timespec64 tv[2]; 246 246 ··· 276 276 return do_utimes(dfd, filename, t ? tv : NULL, 0); 277 277 } 278 278 279 - COMPAT_SYSCALL_DEFINE3(futimesat, unsigned int, dfd, 279 + SYSCALL_DEFINE3(futimesat_time32, unsigned int, dfd, 280 280 const char __user *, filename, 281 281 struct old_timeval32 __user *, t) 282 282 { 283 283 return do_compat_futimesat(dfd, filename, t); 284 284 } 285 285 286 - COMPAT_SYSCALL_DEFINE2(utimes, const char __user *, filename, struct old_timeval32 __user *, t) 286 + SYSCALL_DEFINE2(utimes_time32, const char __user *, filename, struct old_timeval32 __user *, t) 287 287 { 288 288 return do_compat_futimesat(AT_FDCWD, filename, t); 289 289 }
+4 -100
include/linux/compat.h
··· 132 132 compat_clock_t tms_cstime; 133 133 }; 134 134 135 - struct compat_timex { 136 - compat_uint_t modes; 137 - compat_long_t offset; 138 - compat_long_t freq; 139 - compat_long_t maxerror; 140 - compat_long_t esterror; 141 - compat_int_t status; 142 - compat_long_t constant; 143 - compat_long_t precision; 144 - compat_long_t tolerance; 145 - struct old_timeval32 time; 146 - compat_long_t tick; 147 - compat_long_t ppsfreq; 148 - compat_long_t jitter; 149 - compat_int_t shift; 150 - compat_long_t stabil; 151 - compat_long_t jitcnt; 152 - compat_long_t calcnt; 153 - compat_long_t errcnt; 154 - compat_long_t stbcnt; 155 - compat_int_t tai; 156 - 157 - compat_int_t:32; compat_int_t:32; compat_int_t:32; compat_int_t:32; 158 - compat_int_t:32; compat_int_t:32; compat_int_t:32; compat_int_t:32; 159 - compat_int_t:32; compat_int_t:32; compat_int_t:32; 160 - }; 161 - 162 - struct timex; 163 - int compat_get_timex(struct timex *, const struct compat_timex __user *); 164 - int compat_put_timex(struct compat_timex __user *, const struct timex *); 165 - 166 135 #define _COMPAT_NSIG_WORDS (_COMPAT_NSIG / _COMPAT_NSIG_BPW) 167 136 168 137 typedef struct { ··· 520 551 asmlinkage long compat_sys_io_setup(unsigned nr_reqs, u32 __user *ctx32p); 521 552 asmlinkage long compat_sys_io_submit(compat_aio_context_t ctx_id, int nr, 522 553 u32 __user *iocb); 523 - asmlinkage long compat_sys_io_getevents(compat_aio_context_t ctx_id, 524 - compat_long_t min_nr, 525 - compat_long_t nr, 526 - struct io_event __user *events, 527 - struct old_timespec32 __user *timeout); 528 554 asmlinkage long compat_sys_io_pgetevents(compat_aio_context_t ctx_id, 529 555 compat_long_t min_nr, 530 556 compat_long_t nr, ··· 612 648 compat_loff_t __user *offset, compat_size_t count); 613 649 614 650 /* fs/select.c */ 615 - asmlinkage long compat_sys_pselect6(int n, compat_ulong_t __user *inp, 651 + asmlinkage long compat_sys_pselect6_time32(int n, compat_ulong_t __user *inp, 616 652 compat_ulong_t __user *outp, 617 653 compat_ulong_t __user *exp, 618 654 struct old_timespec32 __user *tsp, ··· 622 658 compat_ulong_t __user *exp, 623 659 struct __kernel_timespec __user *tsp, 624 660 void __user *sig); 625 - asmlinkage long compat_sys_ppoll(struct pollfd __user *ufds, 661 + asmlinkage long compat_sys_ppoll_time32(struct pollfd __user *ufds, 626 662 unsigned int nfds, 627 663 struct old_timespec32 __user *tsp, 628 664 const compat_sigset_t __user *sigmask, ··· 652 688 653 689 /* fs/sync.c: No generic prototype for sync_file_range and sync_file_range2 */ 654 690 655 - /* fs/timerfd.c */ 656 - asmlinkage long compat_sys_timerfd_gettime(int ufd, 657 - struct old_itimerspec32 __user *otmr); 658 - asmlinkage long compat_sys_timerfd_settime(int ufd, int flags, 659 - const struct old_itimerspec32 __user *utmr, 660 - struct old_itimerspec32 __user *otmr); 661 - 662 - /* fs/utimes.c */ 663 - asmlinkage long compat_sys_utimensat(unsigned int dfd, 664 - const char __user *filename, 665 - struct old_timespec32 __user *t, 666 - int flags); 667 - 668 691 /* kernel/exit.c */ 669 692 asmlinkage long compat_sys_waitid(int, compat_pid_t, 670 693 struct compat_siginfo __user *, int, ··· 660 709 661 710 662 711 /* kernel/futex.c */ 663 - asmlinkage long compat_sys_futex(u32 __user *uaddr, int op, u32 val, 664 - struct old_timespec32 __user *utime, u32 __user *uaddr2, 665 - u32 val3); 666 712 asmlinkage long 667 713 compat_sys_set_robust_list(struct compat_robust_list_head __user *head, 668 714 compat_size_t len); 669 715 asmlinkage long 670 716 compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr, 671 717 compat_size_t __user *len_ptr); 672 - 673 - /* kernel/hrtimer.c */ 674 - asmlinkage long compat_sys_nanosleep(struct old_timespec32 __user *rqtp, 675 - struct old_timespec32 __user *rmtp); 676 718 677 719 /* kernel/itimer.c */ 678 720 asmlinkage long compat_sys_getitimer(int which, ··· 684 740 asmlinkage long compat_sys_timer_create(clockid_t which_clock, 685 741 struct compat_sigevent __user *timer_event_spec, 686 742 timer_t __user *created_timer_id); 687 - asmlinkage long compat_sys_timer_gettime(timer_t timer_id, 688 - struct old_itimerspec32 __user *setting); 689 - asmlinkage long compat_sys_timer_settime(timer_t timer_id, int flags, 690 - struct old_itimerspec32 __user *new, 691 - struct old_itimerspec32 __user *old); 692 - asmlinkage long compat_sys_clock_settime(clockid_t which_clock, 693 - struct old_timespec32 __user *tp); 694 - asmlinkage long compat_sys_clock_gettime(clockid_t which_clock, 695 - struct old_timespec32 __user *tp); 696 - asmlinkage long compat_sys_clock_getres(clockid_t which_clock, 697 - struct old_timespec32 __user *tp); 698 - asmlinkage long compat_sys_clock_nanosleep(clockid_t which_clock, int flags, 699 - struct old_timespec32 __user *rqtp, 700 - struct old_timespec32 __user *rmtp); 701 743 702 744 /* kernel/ptrace.c */ 703 745 asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid, ··· 696 766 asmlinkage long compat_sys_sched_getaffinity(compat_pid_t pid, 697 767 unsigned int len, 698 768 compat_ulong_t __user *user_mask_ptr); 699 - asmlinkage long compat_sys_sched_rr_get_interval(compat_pid_t pid, 700 - struct old_timespec32 __user *interval); 701 769 702 770 /* kernel/signal.c */ 703 771 asmlinkage long compat_sys_sigaltstack(const compat_stack_t __user *uss_ptr, ··· 713 785 compat_size_t sigsetsize); 714 786 asmlinkage long compat_sys_rt_sigpending(compat_sigset_t __user *uset, 715 787 compat_size_t sigsetsize); 716 - asmlinkage long compat_sys_rt_sigtimedwait(compat_sigset_t __user *uthese, 788 + asmlinkage long compat_sys_rt_sigtimedwait_time32(compat_sigset_t __user *uthese, 717 789 struct compat_siginfo __user *uinfo, 718 790 struct old_timespec32 __user *uts, compat_size_t sigsetsize); 719 791 asmlinkage long compat_sys_rt_sigtimedwait_time64(compat_sigset_t __user *uthese, ··· 736 808 struct timezone __user *tz); 737 809 asmlinkage long compat_sys_settimeofday(struct old_timeval32 __user *tv, 738 810 struct timezone __user *tz); 739 - asmlinkage long compat_sys_adjtimex(struct compat_timex __user *utp); 740 811 741 812 /* kernel/timer.c */ 742 813 asmlinkage long compat_sys_sysinfo(struct compat_sysinfo __user *info); ··· 744 817 asmlinkage long compat_sys_mq_open(const char __user *u_name, 745 818 int oflag, compat_mode_t mode, 746 819 struct compat_mq_attr __user *u_attr); 747 - asmlinkage long compat_sys_mq_timedsend(mqd_t mqdes, 748 - const char __user *u_msg_ptr, 749 - compat_size_t msg_len, unsigned int msg_prio, 750 - const struct old_timespec32 __user *u_abs_timeout); 751 - asmlinkage ssize_t compat_sys_mq_timedreceive(mqd_t mqdes, 752 - char __user *u_msg_ptr, 753 - compat_size_t msg_len, unsigned int __user *u_msg_prio, 754 - const struct old_timespec32 __user *u_abs_timeout); 755 820 asmlinkage long compat_sys_mq_notify(mqd_t mqdes, 756 821 const struct compat_sigevent __user *u_notification); 757 822 asmlinkage long compat_sys_mq_getsetattr(mqd_t mqdes, ··· 759 840 760 841 /* ipc/sem.c */ 761 842 asmlinkage long compat_sys_semctl(int semid, int semnum, int cmd, int arg); 762 - asmlinkage long compat_sys_semtimedop(int semid, struct sembuf __user *tsems, 763 - unsigned nsems, const struct old_timespec32 __user *timeout); 764 843 765 844 /* ipc/shm.c */ 766 845 asmlinkage long compat_sys_shmctl(int first, int second, void __user *uptr); ··· 816 899 asmlinkage long compat_sys_recvmmsg_time64(int fd, struct compat_mmsghdr __user *mmsg, 817 900 unsigned vlen, unsigned int flags, 818 901 struct __kernel_timespec __user *timeout); 819 - asmlinkage long compat_sys_recvmmsg(int fd, struct compat_mmsghdr __user *mmsg, 902 + asmlinkage long compat_sys_recvmmsg_time32(int fd, struct compat_mmsghdr __user *mmsg, 820 903 unsigned vlen, unsigned int flags, 821 904 struct old_timespec32 __user *timeout); 822 905 asmlinkage long compat_sys_wait4(compat_pid_t pid, ··· 827 910 asmlinkage long compat_sys_open_by_handle_at(int mountdirfd, 828 911 struct file_handle __user *handle, 829 912 int flags); 830 - asmlinkage long compat_sys_clock_adjtime(clockid_t which_clock, 831 - struct compat_timex __user *tp); 832 913 asmlinkage long compat_sys_sendmmsg(int fd, struct compat_mmsghdr __user *mmsg, 833 914 unsigned vlen, unsigned int flags); 834 915 asmlinkage ssize_t compat_sys_process_vm_readv(compat_pid_t pid, ··· 867 952 /* __ARCH_WANT_SYSCALL_NO_AT */ 868 953 asmlinkage long compat_sys_open(const char __user *filename, int flags, 869 954 umode_t mode); 870 - asmlinkage long compat_sys_utimes(const char __user *filename, 871 - struct old_timeval32 __user *t); 872 955 873 956 /* __ARCH_WANT_SYSCALL_NO_FLAGS */ 874 957 asmlinkage long compat_sys_signalfd(int ufd, ··· 880 967 struct compat_stat __user *statbuf); 881 968 882 969 /* __ARCH_WANT_SYSCALL_DEPRECATED */ 883 - asmlinkage long compat_sys_time(old_time32_t __user *tloc); 884 - asmlinkage long compat_sys_utime(const char __user *filename, 885 - struct old_utimbuf32 __user *t); 886 - asmlinkage long compat_sys_futimesat(unsigned int dfd, 887 - const char __user *filename, 888 - struct old_timeval32 __user *t); 889 970 asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp, 890 971 compat_ulong_t __user *outp, compat_ulong_t __user *exp, 891 972 struct old_timeval32 __user *tvp); ··· 913 1006 const struct compat_old_sigaction __user *act, 914 1007 struct compat_old_sigaction __user *oact); 915 1008 #endif 916 - 917 - /* obsolete: kernel/time/time.c */ 918 - asmlinkage long compat_sys_stime(old_time32_t __user *tptr); 919 1009 920 1010 /* obsolete: net/socket.c */ 921 1011 asmlinkage long compat_sys_socketcall(int call, u32 __user *args);
+1 -1
include/linux/fcntl.h
··· 12 12 O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE) 13 13 14 14 #ifndef force_o_largefile 15 - #define force_o_largefile() (BITS_PER_LONG != 32) 15 + #define force_o_largefile() (!IS_ENABLED(CONFIG_ARCH_32BIT_OFF_T)) 16 16 #endif 17 17 18 18 #if BITS_PER_LONG == 32
+1 -1
include/linux/posix-clock.h
··· 51 51 struct posix_clock_operations { 52 52 struct module *owner; 53 53 54 - int (*clock_adjtime)(struct posix_clock *pc, struct timex *tx); 54 + int (*clock_adjtime)(struct posix_clock *pc, struct __kernel_timex *tx); 55 55 56 56 int (*clock_gettime)(struct posix_clock *pc, struct timespec64 *ts); 57 57
+64 -4
include/linux/syscalls.h
··· 54 54 struct sysinfo; 55 55 struct timespec; 56 56 struct timeval; 57 - struct timex; 57 + struct __kernel_timex; 58 58 struct timezone; 59 59 struct tms; 60 60 struct utimbuf; ··· 297 297 long nr, 298 298 struct io_event __user *events, 299 299 struct __kernel_timespec __user *timeout); 300 + asmlinkage long sys_io_getevents_time32(__u32 ctx_id, 301 + __s32 min_nr, 302 + __s32 nr, 303 + struct io_event __user *events, 304 + struct old_timespec32 __user *timeout); 300 305 asmlinkage long sys_io_pgetevents(aio_context_t ctx_id, 301 306 long min_nr, 302 307 long nr, ··· 527 522 const struct __kernel_itimerspec __user *utmr, 528 523 struct __kernel_itimerspec __user *otmr); 529 524 asmlinkage long sys_timerfd_gettime(int ufd, struct __kernel_itimerspec __user *otmr); 525 + asmlinkage long sys_timerfd_gettime32(int ufd, 526 + struct old_itimerspec32 __user *otmr); 527 + asmlinkage long sys_timerfd_settime32(int ufd, int flags, 528 + const struct old_itimerspec32 __user *utmr, 529 + struct old_itimerspec32 __user *otmr); 530 530 531 531 /* fs/utimes.c */ 532 532 asmlinkage long sys_utimensat(int dfd, const char __user *filename, 533 533 struct __kernel_timespec __user *utimes, 534 534 int flags); 535 + asmlinkage long sys_utimensat_time32(unsigned int dfd, 536 + const char __user *filename, 537 + struct old_timespec32 __user *t, int flags); 535 538 536 539 /* kernel/acct.c */ 537 540 asmlinkage long sys_acct(const char __user *name); ··· 568 555 asmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val, 569 556 struct __kernel_timespec __user *utime, u32 __user *uaddr2, 570 557 u32 val3); 558 + asmlinkage long sys_futex_time32(u32 __user *uaddr, int op, u32 val, 559 + struct old_timespec32 __user *utime, u32 __user *uaddr2, 560 + u32 val3); 571 561 asmlinkage long sys_get_robust_list(int pid, 572 562 struct robust_list_head __user * __user *head_ptr, 573 563 size_t __user *len_ptr); ··· 580 564 /* kernel/hrtimer.c */ 581 565 asmlinkage long sys_nanosleep(struct __kernel_timespec __user *rqtp, 582 566 struct __kernel_timespec __user *rmtp); 567 + asmlinkage long sys_nanosleep_time32(struct old_timespec32 __user *rqtp, 568 + struct old_timespec32 __user *rmtp); 583 569 584 570 /* kernel/itimer.c */ 585 571 asmlinkage long sys_getitimer(int which, struct itimerval __user *value); ··· 609 591 asmlinkage long sys_timer_getoverrun(timer_t timer_id); 610 592 asmlinkage long sys_timer_settime(timer_t timer_id, int flags, 611 593 const struct __kernel_itimerspec __user *new_setting, 612 - struct itimerspec __user *old_setting); 594 + struct __kernel_itimerspec __user *old_setting); 613 595 asmlinkage long sys_timer_delete(timer_t timer_id); 614 596 asmlinkage long sys_clock_settime(clockid_t which_clock, 615 597 const struct __kernel_timespec __user *tp); ··· 620 602 asmlinkage long sys_clock_nanosleep(clockid_t which_clock, int flags, 621 603 const struct __kernel_timespec __user *rqtp, 622 604 struct __kernel_timespec __user *rmtp); 605 + asmlinkage long sys_timer_gettime32(timer_t timer_id, 606 + struct old_itimerspec32 __user *setting); 607 + asmlinkage long sys_timer_settime32(timer_t timer_id, int flags, 608 + struct old_itimerspec32 __user *new, 609 + struct old_itimerspec32 __user *old); 610 + asmlinkage long sys_clock_settime32(clockid_t which_clock, 611 + struct old_timespec32 __user *tp); 612 + asmlinkage long sys_clock_gettime32(clockid_t which_clock, 613 + struct old_timespec32 __user *tp); 614 + asmlinkage long sys_clock_getres_time32(clockid_t which_clock, 615 + struct old_timespec32 __user *tp); 616 + asmlinkage long sys_clock_nanosleep_time32(clockid_t which_clock, int flags, 617 + struct old_timespec32 __user *rqtp, 618 + struct old_timespec32 __user *rmtp); 623 619 624 620 /* kernel/printk.c */ 625 621 asmlinkage long sys_syslog(int type, char __user *buf, int len); ··· 659 627 asmlinkage long sys_sched_get_priority_min(int policy); 660 628 asmlinkage long sys_sched_rr_get_interval(pid_t pid, 661 629 struct __kernel_timespec __user *interval); 630 + asmlinkage long sys_sched_rr_get_interval_time32(pid_t pid, 631 + struct old_timespec32 __user *interval); 662 632 663 633 /* kernel/signal.c */ 664 634 asmlinkage long sys_restart_syscall(void); ··· 729 695 struct timezone __user *tz); 730 696 asmlinkage long sys_settimeofday(struct timeval __user *tv, 731 697 struct timezone __user *tz); 732 - asmlinkage long sys_adjtimex(struct timex __user *txc_p); 698 + asmlinkage long sys_adjtimex(struct __kernel_timex __user *txc_p); 699 + asmlinkage long sys_adjtimex_time32(struct old_timex32 __user *txc_p); 733 700 734 701 /* kernel/timer.c */ 735 702 asmlinkage long sys_getpid(void); ··· 749 714 asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct __kernel_timespec __user *abs_timeout); 750 715 asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification); 751 716 asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat); 717 + asmlinkage long sys_mq_timedreceive_time32(mqd_t mqdes, 718 + char __user *u_msg_ptr, 719 + unsigned int msg_len, unsigned int __user *u_msg_prio, 720 + const struct old_timespec32 __user *u_abs_timeout); 721 + asmlinkage long sys_mq_timedsend_time32(mqd_t mqdes, 722 + const char __user *u_msg_ptr, 723 + unsigned int msg_len, unsigned int msg_prio, 724 + const struct old_timespec32 __user *u_abs_timeout); 752 725 753 726 /* ipc/msg.c */ 754 727 asmlinkage long sys_msgget(key_t key, int msgflg); 728 + asmlinkage long sys_old_msgctl(int msqid, int cmd, struct msqid_ds __user *buf); 755 729 asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf); 756 730 asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp, 757 731 size_t msgsz, long msgtyp, int msgflg); ··· 770 726 /* ipc/sem.c */ 771 727 asmlinkage long sys_semget(key_t key, int nsems, int semflg); 772 728 asmlinkage long sys_semctl(int semid, int semnum, int cmd, unsigned long arg); 729 + asmlinkage long sys_old_semctl(int semid, int semnum, int cmd, unsigned long arg); 773 730 asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, 774 731 unsigned nsops, 775 732 const struct __kernel_timespec __user *timeout); 733 + asmlinkage long sys_semtimedop_time32(int semid, struct sembuf __user *sops, 734 + unsigned nsops, 735 + const struct old_timespec32 __user *timeout); 776 736 asmlinkage long sys_semop(int semid, struct sembuf __user *sops, 777 737 unsigned nsops); 778 738 779 739 /* ipc/shm.c */ 780 740 asmlinkage long sys_shmget(key_t key, size_t size, int flag); 741 + asmlinkage long sys_old_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); 781 742 asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); 782 743 asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg); 783 744 asmlinkage long sys_shmdt(char __user *shmaddr); ··· 916 867 struct file_handle __user *handle, 917 868 int flags); 918 869 asmlinkage long sys_clock_adjtime(clockid_t which_clock, 919 - struct timex __user *tx); 870 + struct __kernel_timex __user *tx); 871 + asmlinkage long sys_clock_adjtime32(clockid_t which_clock, 872 + struct old_timex32 __user *tx); 920 873 asmlinkage long sys_syncfs(int fd); 921 874 asmlinkage long sys_setns(int fd, int nstype); 922 875 asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg, ··· 1054 1003 asmlinkage long sys_getpgrp(void); 1055 1004 asmlinkage long sys_pause(void); 1056 1005 asmlinkage long sys_time(time_t __user *tloc); 1006 + asmlinkage long sys_time32(old_time32_t __user *tloc); 1057 1007 #ifdef __ARCH_WANT_SYS_UTIME 1058 1008 asmlinkage long sys_utime(char __user *filename, 1059 1009 struct utimbuf __user *times); ··· 1063 1011 asmlinkage long sys_futimesat(int dfd, const char __user *filename, 1064 1012 struct timeval __user *utimes); 1065 1013 #endif 1014 + asmlinkage long sys_futimesat_time32(unsigned int dfd, 1015 + const char __user *filename, 1016 + struct old_timeval32 __user *t); 1017 + asmlinkage long sys_utime32(const char __user *filename, 1018 + struct old_utimbuf32 __user *t); 1019 + asmlinkage long sys_utimes_time32(const char __user *filename, 1020 + struct old_timeval32 __user *t); 1066 1021 asmlinkage long sys_creat(const char __user *pathname, umode_t mode); 1067 1022 asmlinkage long sys_getdents(unsigned int fd, 1068 1023 struct linux_dirent __user *dirent, ··· 1094 1035 1095 1036 /* obsolete: kernel/time/time.c */ 1096 1037 asmlinkage long sys_stime(time_t __user *tptr); 1038 + asmlinkage long sys_stime32(old_time32_t __user *tptr); 1097 1039 1098 1040 /* obsolete: kernel/signal.c */ 1099 1041 asmlinkage long sys_sigpending(old_sigset_t __user *uset);
+31 -1
include/linux/time32.h
··· 10 10 */ 11 11 12 12 #include <linux/time64.h> 13 + #include <linux/timex.h> 13 14 14 15 #define TIME_T_MAX (time_t)((1UL << ((sizeof(time_t) << 3) - 1)) - 1) 15 16 ··· 36 35 old_time32_t modtime; 37 36 }; 38 37 38 + struct old_timex32 { 39 + u32 modes; 40 + s32 offset; 41 + s32 freq; 42 + s32 maxerror; 43 + s32 esterror; 44 + s32 status; 45 + s32 constant; 46 + s32 precision; 47 + s32 tolerance; 48 + struct old_timeval32 time; 49 + s32 tick; 50 + s32 ppsfreq; 51 + s32 jitter; 52 + s32 shift; 53 + s32 stabil; 54 + s32 jitcnt; 55 + s32 calcnt; 56 + s32 errcnt; 57 + s32 stbcnt; 58 + s32 tai; 59 + 60 + s32:32; s32:32; s32:32; s32:32; 61 + s32:32; s32:32; s32:32; s32:32; 62 + s32:32; s32:32; s32:32; 63 + }; 64 + 39 65 extern int get_old_timespec32(struct timespec64 *, const void __user *); 40 66 extern int put_old_timespec32(const struct timespec64 *, void __user *); 41 67 extern int get_old_itimerspec32(struct itimerspec64 *its, 42 68 const struct old_itimerspec32 __user *uits); 43 69 extern int put_old_itimerspec32(const struct itimerspec64 *its, 44 70 struct old_itimerspec32 __user *uits); 45 - 71 + struct __kernel_timex; 72 + int get_old_timex32(struct __kernel_timex *, const struct old_timex32 __user *); 73 + int put_old_timex32(struct old_timex32 __user *, const struct __kernel_timex *); 46 74 47 75 #if __BITS_PER_LONG == 64 48 76
-8
include/linux/time64.h
··· 7 7 typedef __s64 time64_t; 8 8 typedef __u64 timeu64_t; 9 9 10 - /* CONFIG_64BIT_TIME enables new 64 bit time_t syscalls in the compat path 11 - * and 32-bit emulation. 12 - */ 13 - #ifndef CONFIG_64BIT_TIME 14 - #define __kernel_timespec timespec 15 - #define __kernel_itimerspec itimerspec 16 - #endif 17 - 18 10 #include <uapi/linux/time.h> 19 11 20 12 struct timespec64 {
+3 -1
include/linux/timex.h
··· 151 151 #define NTP_INTERVAL_FREQ (HZ) 152 152 #define NTP_INTERVAL_LENGTH (NSEC_PER_SEC/NTP_INTERVAL_FREQ) 153 153 154 - extern int do_adjtimex(struct timex *); 154 + extern int do_adjtimex(struct __kernel_timex *); 155 + extern int do_clock_adjtime(const clockid_t which_clock, struct __kernel_timex * ktx); 156 + 155 157 extern void hardpps(const struct timespec64 *, const struct timespec64 *); 156 158 157 159 int read_current_timer(unsigned long *timer_val);
+116 -33
include/uapi/asm-generic/unistd.h
··· 38 38 __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) 39 39 #define __NR_io_cancel 3 40 40 __SYSCALL(__NR_io_cancel, sys_io_cancel) 41 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 41 42 #define __NR_io_getevents 4 42 - __SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents) 43 + __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) 44 + #endif 43 45 44 46 /* fs/xattr.c */ 45 47 #define __NR_setxattr 5 ··· 181 179 #define __NR_fchown 55 182 180 __SYSCALL(__NR_fchown, sys_fchown) 183 181 #define __NR_openat 56 184 - __SC_COMP(__NR_openat, sys_openat, compat_sys_openat) 182 + __SYSCALL(__NR_openat, sys_openat) 185 183 #define __NR_close 57 186 184 __SYSCALL(__NR_close, sys_close) 187 185 #define __NR_vhangup 58 ··· 224 222 __SYSCALL(__NR3264_sendfile, sys_sendfile64) 225 223 226 224 /* fs/select.c */ 225 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 227 226 #define __NR_pselect6 72 228 - __SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6) 227 + __SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32) 229 228 #define __NR_ppoll 73 230 - __SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll) 229 + __SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32) 230 + #endif 231 231 232 232 /* fs/signalfd.c */ 233 233 #define __NR_signalfd4 74 ··· 273 269 /* fs/timerfd.c */ 274 270 #define __NR_timerfd_create 85 275 271 __SYSCALL(__NR_timerfd_create, sys_timerfd_create) 272 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 276 273 #define __NR_timerfd_settime 86 277 - __SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \ 278 - compat_sys_timerfd_settime) 274 + __SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \ 275 + sys_timerfd_settime) 279 276 #define __NR_timerfd_gettime 87 280 - __SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \ 281 - compat_sys_timerfd_gettime) 277 + __SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \ 278 + sys_timerfd_gettime) 279 + #endif 282 280 283 281 /* fs/utimes.c */ 282 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 284 283 #define __NR_utimensat 88 285 - __SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat) 284 + __SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat) 285 + #endif 286 286 287 287 /* kernel/acct.c */ 288 288 #define __NR_acct 89 ··· 317 309 __SYSCALL(__NR_unshare, sys_unshare) 318 310 319 311 /* kernel/futex.c */ 312 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 320 313 #define __NR_futex 98 321 - __SC_COMP(__NR_futex, sys_futex, compat_sys_futex) 314 + __SC_3264(__NR_futex, sys_futex_time32, sys_futex) 315 + #endif 322 316 #define __NR_set_robust_list 99 323 317 __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \ 324 318 compat_sys_set_robust_list) ··· 329 319 compat_sys_get_robust_list) 330 320 331 321 /* kernel/hrtimer.c */ 322 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 332 323 #define __NR_nanosleep 101 333 - __SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep) 324 + __SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep) 325 + #endif 334 326 335 327 /* kernel/itimer.c */ 336 328 #define __NR_getitimer 102 ··· 353 341 /* kernel/posix-timers.c */ 354 342 #define __NR_timer_create 107 355 343 __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create) 344 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 356 345 #define __NR_timer_gettime 108 357 - __SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime) 346 + __SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime) 347 + #endif 358 348 #define __NR_timer_getoverrun 109 359 349 __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun) 350 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 360 351 #define __NR_timer_settime 110 361 - __SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime) 352 + __SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime) 353 + #endif 362 354 #define __NR_timer_delete 111 363 355 __SYSCALL(__NR_timer_delete, sys_timer_delete) 356 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 364 357 #define __NR_clock_settime 112 365 - __SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime) 358 + __SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime) 366 359 #define __NR_clock_gettime 113 367 - __SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime) 360 + __SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime) 368 361 #define __NR_clock_getres 114 369 - __SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres) 362 + __SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres) 370 363 #define __NR_clock_nanosleep 115 371 - __SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \ 372 - compat_sys_clock_nanosleep) 364 + __SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \ 365 + sys_clock_nanosleep) 366 + #endif 373 367 374 368 /* kernel/printk.c */ 375 369 #define __NR_syslog 116 ··· 406 388 __SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max) 407 389 #define __NR_sched_get_priority_min 126 408 390 __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min) 391 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 409 392 #define __NR_sched_rr_get_interval 127 410 - __SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \ 411 - compat_sys_sched_rr_get_interval) 393 + __SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \ 394 + sys_sched_rr_get_interval) 395 + #endif 412 396 413 397 /* kernel/signal.c */ 414 398 #define __NR_restart_syscall 128 ··· 431 411 __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask) 432 412 #define __NR_rt_sigpending 136 433 413 __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending) 414 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 434 415 #define __NR_rt_sigtimedwait 137 435 - __SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \ 436 - compat_sys_rt_sigtimedwait) 416 + __SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \ 417 + sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32) 418 + #endif 437 419 #define __NR_rt_sigqueueinfo 138 438 420 __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \ 439 421 compat_sys_rt_sigqueueinfo) ··· 489 467 __SYSCALL(__NR_sethostname, sys_sethostname) 490 468 #define __NR_setdomainname 162 491 469 __SYSCALL(__NR_setdomainname, sys_setdomainname) 470 + 471 + #ifdef __ARCH_WANT_SET_GET_RLIMIT 472 + /* getrlimit and setrlimit are superseded with prlimit64 */ 492 473 #define __NR_getrlimit 163 493 474 __SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit) 494 475 #define __NR_setrlimit 164 495 476 __SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit) 477 + #endif 478 + 496 479 #define __NR_getrusage 165 497 480 __SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage) 498 481 #define __NR_umask 166 ··· 508 481 __SYSCALL(__NR_getcpu, sys_getcpu) 509 482 510 483 /* kernel/time.c */ 484 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 511 485 #define __NR_gettimeofday 169 512 486 __SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday) 513 487 #define __NR_settimeofday 170 514 488 __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday) 515 489 #define __NR_adjtimex 171 516 - __SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex) 490 + __SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex) 491 + #endif 517 492 518 493 /* kernel/timer.c */ 519 494 #define __NR_getpid 172 ··· 540 511 __SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open) 541 512 #define __NR_mq_unlink 181 542 513 __SYSCALL(__NR_mq_unlink, sys_mq_unlink) 514 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 543 515 #define __NR_mq_timedsend 182 544 - __SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend) 516 + __SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend) 545 517 #define __NR_mq_timedreceive 183 546 - __SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \ 547 - compat_sys_mq_timedreceive) 518 + __SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \ 519 + sys_mq_timedreceive) 520 + #endif 548 521 #define __NR_mq_notify 184 549 522 __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify) 550 523 #define __NR_mq_getsetattr 185 ··· 567 536 __SYSCALL(__NR_semget, sys_semget) 568 537 #define __NR_semctl 191 569 538 __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl) 539 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 570 540 #define __NR_semtimedop 192 571 - __SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop) 541 + __SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32) 542 + #endif 572 543 #define __NR_semop 193 573 544 __SYSCALL(__NR_semop, sys_semop) 574 545 ··· 691 658 __SYSCALL(__NR_perf_event_open, sys_perf_event_open) 692 659 #define __NR_accept4 242 693 660 __SYSCALL(__NR_accept4, sys_accept4) 661 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 694 662 #define __NR_recvmmsg 243 695 - __SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg) 663 + __SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32) 664 + #endif 696 665 697 666 /* 698 667 * Architectures may provide up to 16 syscalls of their own ··· 702 667 */ 703 668 #define __NR_arch_specific_syscall 244 704 669 670 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 705 671 #define __NR_wait4 260 706 672 __SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4) 673 + #endif 707 674 #define __NR_prlimit64 261 708 675 __SYSCALL(__NR_prlimit64, sys_prlimit64) 709 676 #define __NR_fanotify_init 262 ··· 715 678 #define __NR_name_to_handle_at 264 716 679 __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) 717 680 #define __NR_open_by_handle_at 265 718 - __SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \ 719 - compat_sys_open_by_handle_at) 681 + __SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) 682 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 720 683 #define __NR_clock_adjtime 266 721 - __SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime) 684 + __SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime) 685 + #endif 722 686 #define __NR_syncfs 267 723 687 __SYSCALL(__NR_syncfs, sys_syncfs) 724 688 #define __NR_setns 268 ··· 772 734 __SYSCALL(__NR_pkey_free, sys_pkey_free) 773 735 #define __NR_statx 291 774 736 __SYSCALL(__NR_statx, sys_statx) 737 + #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 775 738 #define __NR_io_pgetevents 292 776 - __SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents) 739 + __SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents) 740 + #endif 777 741 #define __NR_rseq 293 778 742 __SYSCALL(__NR_rseq, sys_rseq) 779 743 #define __NR_kexec_file_load 294 780 744 __SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) 745 + /* 295 through 402 are unassigned to sync up with generic numbers, don't use */ 746 + #if __BITS_PER_LONG == 32 747 + #define __NR_clock_gettime64 403 748 + __SYSCALL(__NR_clock_gettime64, sys_clock_gettime) 749 + #define __NR_clock_settime64 404 750 + __SYSCALL(__NR_clock_settime64, sys_clock_settime) 751 + #define __NR_clock_adjtime64 405 752 + __SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime) 753 + #define __NR_clock_getres_time64 406 754 + __SYSCALL(__NR_clock_getres_time64, sys_clock_getres) 755 + #define __NR_clock_nanosleep_time64 407 756 + __SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep) 757 + #define __NR_timer_gettime64 408 758 + __SYSCALL(__NR_timer_gettime64, sys_timer_gettime) 759 + #define __NR_timer_settime64 409 760 + __SYSCALL(__NR_timer_settime64, sys_timer_settime) 761 + #define __NR_timerfd_gettime64 410 762 + __SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime) 763 + #define __NR_timerfd_settime64 411 764 + __SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime) 765 + #define __NR_utimensat_time64 412 766 + __SYSCALL(__NR_utimensat_time64, sys_utimensat) 767 + #define __NR_pselect6_time64 413 768 + __SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64) 769 + #define __NR_ppoll_time64 414 770 + __SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64) 771 + #define __NR_io_pgetevents_time64 416 772 + __SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents) 773 + #define __NR_recvmmsg_time64 417 774 + __SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64) 775 + #define __NR_mq_timedsend_time64 418 776 + __SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend) 777 + #define __NR_mq_timedreceive_time64 419 778 + __SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive) 779 + #define __NR_semtimedop_time64 420 780 + __SYSCALL(__NR_semtimedop_time64, sys_semtimedop) 781 + #define __NR_rt_sigtimedwait_time64 421 782 + __SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64) 783 + #define __NR_futex_time64 422 784 + __SYSCALL(__NR_futex_time64, sys_futex) 785 + #define __NR_sched_rr_get_interval_time64 423 786 + __SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval) 787 + #endif 781 788 782 789 #undef __NR_syscalls 783 - #define __NR_syscalls 295 790 + #define __NR_syscalls 424 784 791 785 792 /* 786 793 * 32 bit systems traditionally used different
-4
include/uapi/linux/time_types.h
··· 4 4 5 5 #include <linux/types.h> 6 6 7 - #ifndef __kernel_timespec 8 7 struct __kernel_timespec { 9 8 __kernel_time64_t tv_sec; /* seconds */ 10 9 long long tv_nsec; /* nanoseconds */ 11 10 }; 12 - #endif 13 11 14 - #ifndef __kernel_itimerspec 15 12 struct __kernel_itimerspec { 16 13 struct __kernel_timespec it_interval; /* timer period */ 17 14 struct __kernel_timespec it_value; /* timer expiration */ 18 15 }; 19 - #endif 20 16 21 17 /* 22 18 * legacy timeval structure, only embedded in structures that
+39
include/uapi/linux/timex.h
··· 92 92 int :32; int :32; int :32; 93 93 }; 94 94 95 + struct __kernel_timex_timeval { 96 + __kernel_time64_t tv_sec; 97 + long long tv_usec; 98 + }; 99 + 100 + struct __kernel_timex { 101 + unsigned int modes; /* mode selector */ 102 + int :32; /* pad */ 103 + long long offset; /* time offset (usec) */ 104 + long long freq; /* frequency offset (scaled ppm) */ 105 + long long maxerror;/* maximum error (usec) */ 106 + long long esterror;/* estimated error (usec) */ 107 + int status; /* clock command/status */ 108 + int :32; /* pad */ 109 + long long constant;/* pll time constant */ 110 + long long precision;/* clock precision (usec) (read only) */ 111 + long long tolerance;/* clock frequency tolerance (ppm) 112 + * (read only) 113 + */ 114 + struct __kernel_timex_timeval time; /* (read only, except for ADJ_SETOFFSET) */ 115 + long long tick; /* (modified) usecs between clock ticks */ 116 + 117 + long long ppsfreq;/* pps frequency (scaled ppm) (ro) */ 118 + long long jitter; /* pps jitter (us) (ro) */ 119 + int shift; /* interval duration (s) (shift) (ro) */ 120 + int :32; /* pad */ 121 + long long stabil; /* pps stability (scaled ppm) (ro) */ 122 + long long jitcnt; /* jitter limit exceeded (ro) */ 123 + long long calcnt; /* calibration intervals (ro) */ 124 + long long errcnt; /* calibration errors (ro) */ 125 + long long stbcnt; /* stability limit exceeded (ro) */ 126 + 127 + int tai; /* TAI offset (ro) */ 128 + 129 + int :32; int :32; int :32; int :32; 130 + int :32; int :32; int :32; int :32; 131 + int :32; int :32; int :32; 132 + }; 133 + 95 134 /* 96 135 * Mode codes (timex.mode) 97 136 */
+8 -8
ipc/mqueue.c
··· 1471 1471 return 0; 1472 1472 } 1473 1473 1474 - COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, 1475 - const char __user *, u_msg_ptr, 1476 - compat_size_t, msg_len, unsigned int, msg_prio, 1477 - const struct old_timespec32 __user *, u_abs_timeout) 1474 + SYSCALL_DEFINE5(mq_timedsend_time32, mqd_t, mqdes, 1475 + const char __user *, u_msg_ptr, 1476 + unsigned int, msg_len, unsigned int, msg_prio, 1477 + const struct old_timespec32 __user *, u_abs_timeout) 1478 1478 { 1479 1479 struct timespec64 ts, *p = NULL; 1480 1480 if (u_abs_timeout) { ··· 1486 1486 return do_mq_timedsend(mqdes, u_msg_ptr, msg_len, msg_prio, p); 1487 1487 } 1488 1488 1489 - COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, 1490 - char __user *, u_msg_ptr, 1491 - compat_size_t, msg_len, unsigned int __user *, u_msg_prio, 1492 - const struct old_timespec32 __user *, u_abs_timeout) 1489 + SYSCALL_DEFINE5(mq_timedreceive_time32, mqd_t, mqdes, 1490 + char __user *, u_msg_ptr, 1491 + unsigned int, msg_len, unsigned int __user *, u_msg_prio, 1492 + const struct old_timespec32 __user *, u_abs_timeout) 1493 1493 { 1494 1494 struct timespec64 ts, *p = NULL; 1495 1495 if (u_abs_timeout) {
+32 -7
ipc/msg.c
··· 567 567 return err; 568 568 } 569 569 570 - long ksys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf) 570 + static long ksys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf, int version) 571 571 { 572 - int version; 573 572 struct ipc_namespace *ns; 574 573 struct msqid64_ds msqid64; 575 574 int err; ··· 576 577 if (msqid < 0 || cmd < 0) 577 578 return -EINVAL; 578 579 579 - version = ipc_parse_version(&cmd); 580 580 ns = current->nsproxy->ipc_ns; 581 581 582 582 switch (cmd) { ··· 611 613 612 614 SYSCALL_DEFINE3(msgctl, int, msqid, int, cmd, struct msqid_ds __user *, buf) 613 615 { 614 - return ksys_msgctl(msqid, cmd, buf); 616 + return ksys_msgctl(msqid, cmd, buf, IPC_64); 615 617 } 618 + 619 + #ifdef CONFIG_ARCH_WANT_IPC_PARSE_VERSION 620 + long ksys_old_msgctl(int msqid, int cmd, struct msqid_ds __user *buf) 621 + { 622 + int version = ipc_parse_version(&cmd); 623 + 624 + return ksys_msgctl(msqid, cmd, buf, version); 625 + } 626 + 627 + SYSCALL_DEFINE3(old_msgctl, int, msqid, int, cmd, struct msqid_ds __user *, buf) 628 + { 629 + return ksys_old_msgctl(msqid, cmd, buf); 630 + } 631 + #endif 616 632 617 633 #ifdef CONFIG_COMPAT 618 634 ··· 701 689 } 702 690 } 703 691 704 - long compat_ksys_msgctl(int msqid, int cmd, void __user *uptr) 692 + static long compat_ksys_msgctl(int msqid, int cmd, void __user *uptr, int version) 705 693 { 706 694 struct ipc_namespace *ns; 707 695 int err; 708 696 struct msqid64_ds msqid64; 709 - int version = compat_ipc_parse_version(&cmd); 710 697 711 698 ns = current->nsproxy->ipc_ns; 712 699 ··· 745 734 746 735 COMPAT_SYSCALL_DEFINE3(msgctl, int, msqid, int, cmd, void __user *, uptr) 747 736 { 748 - return compat_ksys_msgctl(msqid, cmd, uptr); 737 + return compat_ksys_msgctl(msqid, cmd, uptr, IPC_64); 749 738 } 739 + 740 + #ifdef CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION 741 + long compat_ksys_old_msgctl(int msqid, int cmd, void __user *uptr) 742 + { 743 + int version = compat_ipc_parse_version(&cmd); 744 + 745 + return compat_ksys_msgctl(msqid, cmd, uptr, version); 746 + } 747 + 748 + COMPAT_SYSCALL_DEFINE3(old_msgctl, int, msqid, int, cmd, void __user *, uptr) 749 + { 750 + return compat_ksys_old_msgctl(msqid, cmd, uptr); 751 + } 752 + #endif 750 753 #endif 751 754 752 755 static int testmsg(struct msg_msg *msg, long type, int mode)
+33 -8
ipc/sem.c
··· 1634 1634 return err; 1635 1635 } 1636 1636 1637 - long ksys_semctl(int semid, int semnum, int cmd, unsigned long arg) 1637 + static long ksys_semctl(int semid, int semnum, int cmd, unsigned long arg, int version) 1638 1638 { 1639 - int version; 1640 1639 struct ipc_namespace *ns; 1641 1640 void __user *p = (void __user *)arg; 1642 1641 struct semid64_ds semid64; ··· 1644 1645 if (semid < 0) 1645 1646 return -EINVAL; 1646 1647 1647 - version = ipc_parse_version(&cmd); 1648 1648 ns = current->nsproxy->ipc_ns; 1649 1649 1650 1650 switch (cmd) { ··· 1689 1691 1690 1692 SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, unsigned long, arg) 1691 1693 { 1692 - return ksys_semctl(semid, semnum, cmd, arg); 1694 + return ksys_semctl(semid, semnum, cmd, arg, IPC_64); 1693 1695 } 1696 + 1697 + #ifdef CONFIG_ARCH_WANT_IPC_PARSE_VERSION 1698 + long ksys_old_semctl(int semid, int semnum, int cmd, unsigned long arg) 1699 + { 1700 + int version = ipc_parse_version(&cmd); 1701 + 1702 + return ksys_semctl(semid, semnum, cmd, arg, version); 1703 + } 1704 + 1705 + SYSCALL_DEFINE4(old_semctl, int, semid, int, semnum, int, cmd, unsigned long, arg) 1706 + { 1707 + return ksys_old_semctl(semid, semnum, cmd, arg); 1708 + } 1709 + #endif 1694 1710 1695 1711 #ifdef CONFIG_COMPAT 1696 1712 ··· 1756 1744 } 1757 1745 } 1758 1746 1759 - long compat_ksys_semctl(int semid, int semnum, int cmd, int arg) 1747 + static long compat_ksys_semctl(int semid, int semnum, int cmd, int arg, int version) 1760 1748 { 1761 1749 void __user *p = compat_ptr(arg); 1762 1750 struct ipc_namespace *ns; 1763 1751 struct semid64_ds semid64; 1764 - int version = compat_ipc_parse_version(&cmd); 1765 1752 int err; 1766 1753 1767 1754 ns = current->nsproxy->ipc_ns; ··· 1803 1792 1804 1793 COMPAT_SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, int, arg) 1805 1794 { 1806 - return compat_ksys_semctl(semid, semnum, cmd, arg); 1795 + return compat_ksys_semctl(semid, semnum, cmd, arg, IPC_64); 1807 1796 } 1797 + 1798 + #ifdef CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION 1799 + long compat_ksys_old_semctl(int semid, int semnum, int cmd, int arg) 1800 + { 1801 + int version = compat_ipc_parse_version(&cmd); 1802 + 1803 + return compat_ksys_semctl(semid, semnum, cmd, arg, version); 1804 + } 1805 + 1806 + COMPAT_SYSCALL_DEFINE4(old_semctl, int, semid, int, semnum, int, cmd, int, arg) 1807 + { 1808 + return compat_ksys_old_semctl(semid, semnum, cmd, arg); 1809 + } 1810 + #endif 1808 1811 #endif 1809 1812 1810 1813 /* If the task doesn't already have a undo_list, then allocate one ··· 2250 2225 return do_semtimedop(semid, tsems, nsops, NULL); 2251 2226 } 2252 2227 2253 - COMPAT_SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsems, 2228 + SYSCALL_DEFINE4(semtimedop_time32, int, semid, struct sembuf __user *, tsems, 2254 2229 unsigned int, nsops, 2255 2230 const struct old_timespec32 __user *, timeout) 2256 2231 {
+33 -7
ipc/shm.c
··· 1137 1137 return err; 1138 1138 } 1139 1139 1140 - long ksys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf) 1140 + static long ksys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf, int version) 1141 1141 { 1142 - int err, version; 1142 + int err; 1143 1143 struct ipc_namespace *ns; 1144 1144 struct shmid64_ds sem64; 1145 1145 1146 1146 if (cmd < 0 || shmid < 0) 1147 1147 return -EINVAL; 1148 1148 1149 - version = ipc_parse_version(&cmd); 1150 1149 ns = current->nsproxy->ipc_ns; 1151 1150 1152 1151 switch (cmd) { ··· 1193 1194 1194 1195 SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf) 1195 1196 { 1196 - return ksys_shmctl(shmid, cmd, buf); 1197 + return ksys_shmctl(shmid, cmd, buf, IPC_64); 1197 1198 } 1199 + 1200 + #ifdef CONFIG_ARCH_WANT_IPC_PARSE_VERSION 1201 + long ksys_old_shmctl(int shmid, int cmd, struct shmid_ds __user *buf) 1202 + { 1203 + int version = ipc_parse_version(&cmd); 1204 + 1205 + return ksys_shmctl(shmid, cmd, buf, version); 1206 + } 1207 + 1208 + SYSCALL_DEFINE3(old_shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf) 1209 + { 1210 + return ksys_old_shmctl(shmid, cmd, buf); 1211 + } 1212 + #endif 1198 1213 1199 1214 #ifdef CONFIG_COMPAT 1200 1215 ··· 1332 1319 } 1333 1320 } 1334 1321 1335 - long compat_ksys_shmctl(int shmid, int cmd, void __user *uptr) 1322 + long compat_ksys_shmctl(int shmid, int cmd, void __user *uptr, int version) 1336 1323 { 1337 1324 struct ipc_namespace *ns; 1338 1325 struct shmid64_ds sem64; 1339 - int version = compat_ipc_parse_version(&cmd); 1340 1326 int err; 1341 1327 1342 1328 ns = current->nsproxy->ipc_ns; ··· 1390 1378 1391 1379 COMPAT_SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, void __user *, uptr) 1392 1380 { 1393 - return compat_ksys_shmctl(shmid, cmd, uptr); 1381 + return compat_ksys_shmctl(shmid, cmd, uptr, IPC_64); 1394 1382 } 1383 + 1384 + #ifdef CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION 1385 + long compat_ksys_old_shmctl(int shmid, int cmd, void __user *uptr) 1386 + { 1387 + int version = compat_ipc_parse_version(&cmd); 1388 + 1389 + return compat_ksys_shmctl(shmid, cmd, uptr, version); 1390 + } 1391 + 1392 + COMPAT_SYSCALL_DEFINE3(old_shmctl, int, shmid, int, cmd, void __user *, uptr) 1393 + { 1394 + return compat_ksys_old_shmctl(shmid, cmd, uptr); 1395 + } 1396 + #endif 1395 1397 #endif 1396 1398 1397 1399 /*
+6 -6
ipc/syscall.c
··· 47 47 return -EINVAL; 48 48 if (get_user(arg, (unsigned long __user *) ptr)) 49 49 return -EFAULT; 50 - return ksys_semctl(first, second, third, arg); 50 + return ksys_old_semctl(first, second, third, arg); 51 51 } 52 52 53 53 case MSGSND: ··· 75 75 case MSGGET: 76 76 return ksys_msgget((key_t) first, second); 77 77 case MSGCTL: 78 - return ksys_msgctl(first, second, 78 + return ksys_old_msgctl(first, second, 79 79 (struct msqid_ds __user *)ptr); 80 80 81 81 case SHMAT: ··· 100 100 case SHMGET: 101 101 return ksys_shmget(first, second, third); 102 102 case SHMCTL: 103 - return ksys_shmctl(first, second, 103 + return ksys_old_shmctl(first, second, 104 104 (struct shmid_ds __user *) ptr); 105 105 default: 106 106 return -ENOSYS; ··· 152 152 return -EINVAL; 153 153 if (get_user(pad, (u32 __user *) compat_ptr(ptr))) 154 154 return -EFAULT; 155 - return compat_ksys_semctl(first, second, third, pad); 155 + return compat_ksys_old_semctl(first, second, third, pad); 156 156 157 157 case MSGSND: 158 158 return compat_ksys_msgsnd(first, ptr, second, third); ··· 177 177 case MSGGET: 178 178 return ksys_msgget(first, second); 179 179 case MSGCTL: 180 - return compat_ksys_msgctl(first, second, compat_ptr(ptr)); 180 + return compat_ksys_old_msgctl(first, second, compat_ptr(ptr)); 181 181 182 182 case SHMAT: { 183 183 int err; ··· 196 196 case SHMGET: 197 197 return ksys_shmget(first, (unsigned int)second, third); 198 198 case SHMCTL: 199 - return compat_ksys_shmctl(first, second, compat_ptr(ptr)); 199 + return compat_ksys_old_shmctl(first, second, compat_ptr(ptr)); 200 200 } 201 201 202 202 return -ENOSYS;
+7 -14
ipc/util.h
··· 160 160 } 161 161 } 162 162 163 - #ifndef CONFIG_ARCH_WANT_IPC_PARSE_VERSION 164 - /* On IA-64, we always use the "64-bit version" of the IPC structures. */ 165 - # define ipc_parse_version(cmd) IPC_64 166 - #else 163 + #ifdef CONFIG_ARCH_WANT_IPC_PARSE_VERSION 167 164 int ipc_parse_version(int *cmd); 168 165 #endif 169 166 ··· 243 246 244 247 static inline int compat_ipc_parse_version(int *cmd) 245 248 { 246 - #ifdef CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION 247 249 int version = *cmd & IPC_64; 248 250 *cmd &= ~IPC_64; 249 251 return version; 250 - #else 251 - return IPC_64; 252 - #endif 253 252 } 254 253 #endif 255 254 ··· 254 261 unsigned int nsops, 255 262 const struct __kernel_timespec __user *timeout); 256 263 long ksys_semget(key_t key, int nsems, int semflg); 257 - long ksys_semctl(int semid, int semnum, int cmd, unsigned long arg); 264 + long ksys_old_semctl(int semid, int semnum, int cmd, unsigned long arg); 258 265 long ksys_msgget(key_t key, int msgflg); 259 - long ksys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf); 266 + long ksys_old_msgctl(int msqid, int cmd, struct msqid_ds __user *buf); 260 267 long ksys_msgrcv(int msqid, struct msgbuf __user *msgp, size_t msgsz, 261 268 long msgtyp, int msgflg); 262 269 long ksys_msgsnd(int msqid, struct msgbuf __user *msgp, size_t msgsz, 263 270 int msgflg); 264 271 long ksys_shmget(key_t key, size_t size, int shmflg); 265 272 long ksys_shmdt(char __user *shmaddr); 266 - long ksys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); 273 + long ksys_old_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); 267 274 268 275 /* for CONFIG_ARCH_WANT_OLD_COMPAT_IPC */ 269 276 long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems, 270 277 unsigned int nsops, 271 278 const struct old_timespec32 __user *timeout); 272 279 #ifdef CONFIG_COMPAT 273 - long compat_ksys_semctl(int semid, int semnum, int cmd, int arg); 274 - long compat_ksys_msgctl(int msqid, int cmd, void __user *uptr); 280 + long compat_ksys_old_semctl(int semid, int semnum, int cmd, int arg); 281 + long compat_ksys_old_msgctl(int msqid, int cmd, void __user *uptr); 275 282 long compat_ksys_msgrcv(int msqid, compat_uptr_t msgp, compat_ssize_t msgsz, 276 283 compat_long_t msgtyp, int msgflg); 277 284 long compat_ksys_msgsnd(int msqid, compat_uptr_t msgp, 278 285 compat_ssize_t msgsz, int msgflg); 279 - long compat_ksys_shmctl(int shmid, int cmd, void __user *uptr); 286 + long compat_ksys_old_shmctl(int shmid, int cmd, void __user *uptr); 280 287 #endif /* CONFIG_COMPAT */ 281 288 282 289 #endif
-64
kernel/compat.c
··· 20 20 #include <linux/syscalls.h> 21 21 #include <linux/unistd.h> 22 22 #include <linux/security.h> 23 - #include <linux/timex.h> 24 23 #include <linux/export.h> 25 24 #include <linux/migrate.h> 26 25 #include <linux/posix-timers.h> ··· 28 29 #include <linux/gfp.h> 29 30 30 31 #include <linux/uaccess.h> 31 - 32 - int compat_get_timex(struct timex *txc, const struct compat_timex __user *utp) 33 - { 34 - struct compat_timex tx32; 35 - 36 - memset(txc, 0, sizeof(struct timex)); 37 - if (copy_from_user(&tx32, utp, sizeof(struct compat_timex))) 38 - return -EFAULT; 39 - 40 - txc->modes = tx32.modes; 41 - txc->offset = tx32.offset; 42 - txc->freq = tx32.freq; 43 - txc->maxerror = tx32.maxerror; 44 - txc->esterror = tx32.esterror; 45 - txc->status = tx32.status; 46 - txc->constant = tx32.constant; 47 - txc->precision = tx32.precision; 48 - txc->tolerance = tx32.tolerance; 49 - txc->time.tv_sec = tx32.time.tv_sec; 50 - txc->time.tv_usec = tx32.time.tv_usec; 51 - txc->tick = tx32.tick; 52 - txc->ppsfreq = tx32.ppsfreq; 53 - txc->jitter = tx32.jitter; 54 - txc->shift = tx32.shift; 55 - txc->stabil = tx32.stabil; 56 - txc->jitcnt = tx32.jitcnt; 57 - txc->calcnt = tx32.calcnt; 58 - txc->errcnt = tx32.errcnt; 59 - txc->stbcnt = tx32.stbcnt; 60 - 61 - return 0; 62 - } 63 - 64 - int compat_put_timex(struct compat_timex __user *utp, const struct timex *txc) 65 - { 66 - struct compat_timex tx32; 67 - 68 - memset(&tx32, 0, sizeof(struct compat_timex)); 69 - tx32.modes = txc->modes; 70 - tx32.offset = txc->offset; 71 - tx32.freq = txc->freq; 72 - tx32.maxerror = txc->maxerror; 73 - tx32.esterror = txc->esterror; 74 - tx32.status = txc->status; 75 - tx32.constant = txc->constant; 76 - tx32.precision = txc->precision; 77 - tx32.tolerance = txc->tolerance; 78 - tx32.time.tv_sec = txc->time.tv_sec; 79 - tx32.time.tv_usec = txc->time.tv_usec; 80 - tx32.tick = txc->tick; 81 - tx32.ppsfreq = txc->ppsfreq; 82 - tx32.jitter = txc->jitter; 83 - tx32.shift = txc->shift; 84 - tx32.stabil = txc->stabil; 85 - tx32.jitcnt = txc->jitcnt; 86 - tx32.calcnt = txc->calcnt; 87 - tx32.errcnt = txc->errcnt; 88 - tx32.stbcnt = txc->stbcnt; 89 - tx32.tai = txc->tai; 90 - if (copy_to_user(utp, &tx32, sizeof(struct compat_timex))) 91 - return -EFAULT; 92 - return 0; 93 - } 94 32 95 33 static int __compat_get_timeval(struct timeval *tv, const struct old_timeval32 __user *ctv) 96 34 {
+1 -1
kernel/futex.c
··· 3823 3823 #endif /* CONFIG_COMPAT */ 3824 3824 3825 3825 #ifdef CONFIG_COMPAT_32BIT_TIME 3826 - COMPAT_SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, 3826 + SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, 3827 3827 struct old_timespec32 __user *, utime, u32 __user *, uaddr2, 3828 3828 u32, val3) 3829 3829 {
+2 -3
kernel/sched/core.c
··· 5265 5265 } 5266 5266 5267 5267 #ifdef CONFIG_COMPAT_32BIT_TIME 5268 - COMPAT_SYSCALL_DEFINE2(sched_rr_get_interval, 5269 - compat_pid_t, pid, 5270 - struct old_timespec32 __user *, interval) 5268 + SYSCALL_DEFINE2(sched_rr_get_interval_time32, pid_t, pid, 5269 + struct old_timespec32 __user *, interval) 5271 5270 { 5272 5271 struct timespec64 t; 5273 5272 int retval = sched_rr_get_interval(pid, &t);
+1 -1
kernel/signal.c
··· 3455 3455 } 3456 3456 3457 3457 #ifdef CONFIG_COMPAT_32BIT_TIME 3458 - COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait, compat_sigset_t __user *, uthese, 3458 + COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait_time32, compat_sigset_t __user *, uthese, 3459 3459 struct compat_siginfo __user *, uinfo, 3460 3460 struct old_timespec32 __user *, uts, compat_size_t, sigsetsize) 3461 3461 {
+13 -8
kernel/sys_ni.c
··· 42 42 COND_SYSCALL(io_submit); 43 43 COND_SYSCALL_COMPAT(io_submit); 44 44 COND_SYSCALL(io_cancel); 45 + COND_SYSCALL(io_getevents_time32); 45 46 COND_SYSCALL(io_getevents); 47 + COND_SYSCALL(io_pgetevents_time32); 46 48 COND_SYSCALL(io_pgetevents); 47 - COND_SYSCALL_COMPAT(io_getevents); 49 + COND_SYSCALL_COMPAT(io_pgetevents_time32); 48 50 COND_SYSCALL_COMPAT(io_pgetevents); 49 51 50 52 /* fs/xattr.c */ ··· 116 114 /* fs/timerfd.c */ 117 115 COND_SYSCALL(timerfd_create); 118 116 COND_SYSCALL(timerfd_settime); 119 - COND_SYSCALL_COMPAT(timerfd_settime); 117 + COND_SYSCALL(timerfd_settime32); 120 118 COND_SYSCALL(timerfd_gettime); 121 - COND_SYSCALL_COMPAT(timerfd_gettime); 119 + COND_SYSCALL(timerfd_gettime32); 122 120 123 121 /* fs/utimes.c */ 124 122 ··· 137 135 138 136 /* kernel/futex.c */ 139 137 COND_SYSCALL(futex); 140 - COND_SYSCALL_COMPAT(futex); 138 + COND_SYSCALL(futex_time32); 141 139 COND_SYSCALL(set_robust_list); 142 140 COND_SYSCALL_COMPAT(set_robust_list); 143 141 COND_SYSCALL(get_robust_list); ··· 189 187 COND_SYSCALL_COMPAT(mq_open); 190 188 COND_SYSCALL(mq_unlink); 191 189 COND_SYSCALL(mq_timedsend); 192 - COND_SYSCALL_COMPAT(mq_timedsend); 190 + COND_SYSCALL(mq_timedsend_time32); 193 191 COND_SYSCALL(mq_timedreceive); 194 - COND_SYSCALL_COMPAT(mq_timedreceive); 192 + COND_SYSCALL(mq_timedreceive_time32); 195 193 COND_SYSCALL(mq_notify); 196 194 COND_SYSCALL_COMPAT(mq_notify); 197 195 COND_SYSCALL(mq_getsetattr); ··· 199 197 200 198 /* ipc/msg.c */ 201 199 COND_SYSCALL(msgget); 200 + COND_SYSCALL(old_msgctl); 202 201 COND_SYSCALL(msgctl); 203 202 COND_SYSCALL_COMPAT(msgctl); 204 203 COND_SYSCALL(msgrcv); ··· 209 206 210 207 /* ipc/sem.c */ 211 208 COND_SYSCALL(semget); 209 + COND_SYSCALL(old_semctl); 212 210 COND_SYSCALL(semctl); 213 211 COND_SYSCALL_COMPAT(semctl); 214 212 COND_SYSCALL(semtimedop); 215 - COND_SYSCALL_COMPAT(semtimedop); 213 + COND_SYSCALL(semtimedop_time32); 216 214 COND_SYSCALL(semop); 217 215 218 216 /* ipc/shm.c */ 219 217 COND_SYSCALL(shmget); 218 + COND_SYSCALL(old_shmctl); 220 219 COND_SYSCALL(shmctl); 221 220 COND_SYSCALL_COMPAT(shmctl); 222 221 COND_SYSCALL(shmat); ··· 290 285 COND_SYSCALL(accept4); 291 286 COND_SYSCALL(recvmmsg); 292 287 COND_SYSCALL(recvmmsg_time32); 293 - COND_SYSCALL_COMPAT(recvmmsg); 288 + COND_SYSCALL_COMPAT(recvmmsg_time32); 294 289 COND_SYSCALL_COMPAT(recvmmsg_time64); 295 290 296 291 /*
+1 -1
kernel/time/hrtimer.c
··· 1771 1771 1772 1772 #ifdef CONFIG_COMPAT_32BIT_TIME 1773 1773 1774 - COMPAT_SYSCALL_DEFINE2(nanosleep, struct old_timespec32 __user *, rqtp, 1774 + SYSCALL_DEFINE2(nanosleep_time32, struct old_timespec32 __user *, rqtp, 1775 1775 struct old_timespec32 __user *, rmtp) 1776 1776 { 1777 1777 struct timespec64 tu;
+10 -8
kernel/time/ntp.c
··· 188 188 && (status & (STA_PPSWANDER|STA_PPSERROR))); 189 189 } 190 190 191 - static inline void pps_fill_timex(struct timex *txc) 191 + static inline void pps_fill_timex(struct __kernel_timex *txc) 192 192 { 193 193 txc->ppsfreq = shift_right((pps_freq >> PPM_SCALE_INV_SHIFT) * 194 194 PPM_SCALE_INV, NTP_SCALE_SHIFT); 195 195 txc->jitter = pps_jitter; 196 196 if (!(time_status & STA_NANO)) 197 - txc->jitter /= NSEC_PER_USEC; 197 + txc->jitter = pps_jitter / NSEC_PER_USEC; 198 198 txc->shift = pps_shift; 199 199 txc->stabil = pps_stabil; 200 200 txc->jitcnt = pps_jitcnt; ··· 220 220 return status & (STA_UNSYNC|STA_CLOCKERR); 221 221 } 222 222 223 - static inline void pps_fill_timex(struct timex *txc) 223 + static inline void pps_fill_timex(struct __kernel_timex *txc) 224 224 { 225 225 /* PPS is not implemented, so these are zero */ 226 226 txc->ppsfreq = 0; ··· 633 633 /* 634 634 * Propagate a new txc->status value into the NTP state: 635 635 */ 636 - static inline void process_adj_status(const struct timex *txc) 636 + static inline void process_adj_status(const struct __kernel_timex *txc) 637 637 { 638 638 if ((time_status & STA_PLL) && !(txc->status & STA_PLL)) { 639 639 time_state = TIME_OK; ··· 656 656 } 657 657 658 658 659 - static inline void process_adjtimex_modes(const struct timex *txc, s32 *time_tai) 659 + static inline void process_adjtimex_modes(const struct __kernel_timex *txc, 660 + s32 *time_tai) 660 661 { 661 662 if (txc->modes & ADJ_STATUS) 662 663 process_adj_status(txc); ··· 708 707 * adjtimex mainly allows reading (and writing, if superuser) of 709 708 * kernel time-keeping variables. used by xntpd. 710 709 */ 711 - int __do_adjtimex(struct timex *txc, const struct timespec64 *ts, s32 *time_tai) 710 + int __do_adjtimex(struct __kernel_timex *txc, const struct timespec64 *ts, 711 + s32 *time_tai) 712 712 { 713 713 int result; 714 714 ··· 731 729 txc->offset = shift_right(time_offset * NTP_INTERVAL_FREQ, 732 730 NTP_SCALE_SHIFT); 733 731 if (!(time_status & STA_NANO)) 734 - txc->offset /= NSEC_PER_USEC; 732 + txc->offset = (u32)txc->offset / NSEC_PER_USEC; 735 733 } 736 734 737 735 result = time_state; /* mostly `TIME_OK' */ ··· 756 754 txc->time.tv_sec = (time_t)ts->tv_sec; 757 755 txc->time.tv_usec = ts->tv_nsec; 758 756 if (!(time_status & STA_NANO)) 759 - txc->time.tv_usec /= NSEC_PER_USEC; 757 + txc->time.tv_usec = ts->tv_nsec / NSEC_PER_USEC; 760 758 761 759 /* Handle leapsec adjustments */ 762 760 if (unlikely(ts->tv_sec >= ntp_next_leap_sec)) {
+1 -1
kernel/time/ntp_internal.h
··· 8 8 extern u64 ntp_tick_length(void); 9 9 extern ktime_t ntp_get_next_leap(void); 10 10 extern int second_overflow(time64_t secs); 11 - extern int __do_adjtimex(struct timex *txc, const struct timespec64 *ts, s32 *time_tai); 11 + extern int __do_adjtimex(struct __kernel_timex *txc, const struct timespec64 *ts, s32 *time_tai); 12 12 extern void __hardpps(const struct timespec64 *phase_ts, const struct timespec64 *raw_ts); 13 13 #endif /* _LINUX_NTP_INTERNAL_H */
+1 -1
kernel/time/posix-clock.c
··· 228 228 fput(cd->fp); 229 229 } 230 230 231 - static int pc_clock_adjtime(clockid_t id, struct timex *tx) 231 + static int pc_clock_adjtime(clockid_t id, struct __kernel_timex *tx) 232 232 { 233 233 struct posix_clock_desc cd; 234 234 int err;
+13 -12
kernel/time/posix-stubs.c
··· 45 45 SYS_NI(clock_adjtime); 46 46 SYS_NI(getitimer); 47 47 SYS_NI(setitimer); 48 + SYS_NI(clock_adjtime32); 48 49 #ifdef __ARCH_WANT_SYS_ALARM 49 50 SYS_NI(alarm); 50 51 #endif ··· 151 150 152 151 #ifdef CONFIG_COMPAT 153 152 COMPAT_SYS_NI(timer_create); 154 - COMPAT_SYS_NI(clock_adjtime); 155 - COMPAT_SYS_NI(timer_settime); 156 - COMPAT_SYS_NI(timer_gettime); 157 153 COMPAT_SYS_NI(getitimer); 158 154 COMPAT_SYS_NI(setitimer); 159 155 #endif 160 156 161 157 #ifdef CONFIG_COMPAT_32BIT_TIME 162 - COMPAT_SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock, 163 - struct old_timespec32 __user *, tp) 158 + SYS_NI(timer_settime32); 159 + SYS_NI(timer_gettime32); 160 + 161 + SYSCALL_DEFINE2(clock_settime32, const clockid_t, which_clock, 162 + struct old_timespec32 __user *, tp) 164 163 { 165 164 struct timespec64 new_tp; 166 165 ··· 172 171 return do_sys_settimeofday64(&new_tp, NULL); 173 172 } 174 173 175 - COMPAT_SYSCALL_DEFINE2(clock_gettime, clockid_t, which_clock, 176 - struct old_timespec32 __user *, tp) 174 + SYSCALL_DEFINE2(clock_gettime32, clockid_t, which_clock, 175 + struct old_timespec32 __user *, tp) 177 176 { 178 177 int ret; 179 178 struct timespec64 kernel_tp; ··· 187 186 return 0; 188 187 } 189 188 190 - COMPAT_SYSCALL_DEFINE2(clock_getres, clockid_t, which_clock, 191 - struct old_timespec32 __user *, tp) 189 + SYSCALL_DEFINE2(clock_getres_time32, clockid_t, which_clock, 190 + struct old_timespec32 __user *, tp) 192 191 { 193 192 struct timespec64 rtn_tp = { 194 193 .tv_sec = 0, ··· 207 206 } 208 207 } 209 208 210 - COMPAT_SYSCALL_DEFINE4(clock_nanosleep, clockid_t, which_clock, int, flags, 211 - struct old_timespec32 __user *, rqtp, 212 - struct old_timespec32 __user *, rmtp) 209 + SYSCALL_DEFINE4(clock_nanosleep_time32, clockid_t, which_clock, int, flags, 210 + struct old_timespec32 __user *, rqtp, 211 + struct old_timespec32 __user *, rmtp) 213 212 { 214 213 struct timespec64 t; 215 214
+32 -40
kernel/time/posix-timers.c
··· 179 179 } 180 180 181 181 static int posix_clock_realtime_adj(const clockid_t which_clock, 182 - struct timex *t) 182 + struct __kernel_timex *t) 183 183 { 184 184 return do_adjtimex(t); 185 185 } ··· 730 730 731 731 #ifdef CONFIG_COMPAT_32BIT_TIME 732 732 733 - COMPAT_SYSCALL_DEFINE2(timer_gettime, timer_t, timer_id, 734 - struct old_itimerspec32 __user *, setting) 733 + SYSCALL_DEFINE2(timer_gettime32, timer_t, timer_id, 734 + struct old_itimerspec32 __user *, setting) 735 735 { 736 736 struct itimerspec64 cur_setting; 737 737 ··· 903 903 } 904 904 905 905 #ifdef CONFIG_COMPAT_32BIT_TIME 906 - COMPAT_SYSCALL_DEFINE4(timer_settime, timer_t, timer_id, int, flags, 907 - struct old_itimerspec32 __user *, new, 908 - struct old_itimerspec32 __user *, old) 906 + SYSCALL_DEFINE4(timer_settime32, timer_t, timer_id, int, flags, 907 + struct old_itimerspec32 __user *, new, 908 + struct old_itimerspec32 __user *, old) 909 909 { 910 910 struct itimerspec64 new_spec, old_spec; 911 911 struct itimerspec64 *rtn = old ? &old_spec : NULL; ··· 1047 1047 return error; 1048 1048 } 1049 1049 1050 - SYSCALL_DEFINE2(clock_adjtime, const clockid_t, which_clock, 1051 - struct timex __user *, utx) 1050 + int do_clock_adjtime(const clockid_t which_clock, struct __kernel_timex * ktx) 1052 1051 { 1053 1052 const struct k_clock *kc = clockid_to_kclock(which_clock); 1054 - struct timex ktx; 1055 - int err; 1056 1053 1057 1054 if (!kc) 1058 1055 return -EINVAL; 1059 1056 if (!kc->clock_adj) 1060 1057 return -EOPNOTSUPP; 1061 1058 1059 + return kc->clock_adj(which_clock, ktx); 1060 + } 1061 + 1062 + SYSCALL_DEFINE2(clock_adjtime, const clockid_t, which_clock, 1063 + struct __kernel_timex __user *, utx) 1064 + { 1065 + struct __kernel_timex ktx; 1066 + int err; 1067 + 1062 1068 if (copy_from_user(&ktx, utx, sizeof(ktx))) 1063 1069 return -EFAULT; 1064 1070 1065 - err = kc->clock_adj(which_clock, &ktx); 1071 + err = do_clock_adjtime(which_clock, &ktx); 1066 1072 1067 1073 if (err >= 0 && copy_to_user(utx, &ktx, sizeof(ktx))) 1068 1074 return -EFAULT; ··· 1096 1090 1097 1091 #ifdef CONFIG_COMPAT_32BIT_TIME 1098 1092 1099 - COMPAT_SYSCALL_DEFINE2(clock_settime, clockid_t, which_clock, 1100 - struct old_timespec32 __user *, tp) 1093 + SYSCALL_DEFINE2(clock_settime32, clockid_t, which_clock, 1094 + struct old_timespec32 __user *, tp) 1101 1095 { 1102 1096 const struct k_clock *kc = clockid_to_kclock(which_clock); 1103 1097 struct timespec64 ts; ··· 1111 1105 return kc->clock_set(which_clock, &ts); 1112 1106 } 1113 1107 1114 - COMPAT_SYSCALL_DEFINE2(clock_gettime, clockid_t, which_clock, 1115 - struct old_timespec32 __user *, tp) 1108 + SYSCALL_DEFINE2(clock_gettime32, clockid_t, which_clock, 1109 + struct old_timespec32 __user *, tp) 1116 1110 { 1117 1111 const struct k_clock *kc = clockid_to_kclock(which_clock); 1118 1112 struct timespec64 ts; ··· 1129 1123 return err; 1130 1124 } 1131 1125 1132 - #endif 1133 - 1134 - #ifdef CONFIG_COMPAT 1135 - 1136 - COMPAT_SYSCALL_DEFINE2(clock_adjtime, clockid_t, which_clock, 1137 - struct compat_timex __user *, utp) 1126 + SYSCALL_DEFINE2(clock_adjtime32, clockid_t, which_clock, 1127 + struct old_timex32 __user *, utp) 1138 1128 { 1139 - const struct k_clock *kc = clockid_to_kclock(which_clock); 1140 - struct timex ktx; 1129 + struct __kernel_timex ktx; 1141 1130 int err; 1142 1131 1143 - if (!kc) 1144 - return -EINVAL; 1145 - if (!kc->clock_adj) 1146 - return -EOPNOTSUPP; 1147 - 1148 - err = compat_get_timex(&ktx, utp); 1132 + err = get_old_timex32(&ktx, utp); 1149 1133 if (err) 1150 1134 return err; 1151 1135 1152 - err = kc->clock_adj(which_clock, &ktx); 1136 + err = do_clock_adjtime(which_clock, &ktx); 1153 1137 1154 1138 if (err >= 0) 1155 - err = compat_put_timex(utp, &ktx); 1139 + err = put_old_timex32(utp, &ktx); 1156 1140 1157 1141 return err; 1158 1142 } 1159 1143 1160 - #endif 1161 - 1162 - #ifdef CONFIG_COMPAT_32BIT_TIME 1163 - 1164 - COMPAT_SYSCALL_DEFINE2(clock_getres, clockid_t, which_clock, 1165 - struct old_timespec32 __user *, tp) 1144 + SYSCALL_DEFINE2(clock_getres_time32, clockid_t, which_clock, 1145 + struct old_timespec32 __user *, tp) 1166 1146 { 1167 1147 const struct k_clock *kc = clockid_to_kclock(which_clock); 1168 1148 struct timespec64 ts; ··· 1204 1212 1205 1213 #ifdef CONFIG_COMPAT_32BIT_TIME 1206 1214 1207 - COMPAT_SYSCALL_DEFINE4(clock_nanosleep, clockid_t, which_clock, int, flags, 1208 - struct old_timespec32 __user *, rqtp, 1209 - struct old_timespec32 __user *, rmtp) 1215 + SYSCALL_DEFINE4(clock_nanosleep_time32, clockid_t, which_clock, int, flags, 1216 + struct old_timespec32 __user *, rqtp, 1217 + struct old_timespec32 __user *, rmtp) 1210 1218 { 1211 1219 const struct k_clock *kc = clockid_to_kclock(which_clock); 1212 1220 struct timespec64 t;
+1 -1
kernel/time/posix-timers.h
··· 8 8 const struct timespec64 *tp); 9 9 int (*clock_get)(const clockid_t which_clock, 10 10 struct timespec64 *tp); 11 - int (*clock_adj)(const clockid_t which_clock, struct timex *tx); 11 + int (*clock_adj)(const clockid_t which_clock, struct __kernel_timex *tx); 12 12 int (*timer_create)(struct k_itimer *timer); 13 13 int (*nsleep)(const clockid_t which_clock, int flags, 14 14 const struct timespec64 *);
+79 -15
kernel/time/time.c
··· 98 98 99 99 #endif /* __ARCH_WANT_SYS_TIME */ 100 100 101 - #ifdef CONFIG_COMPAT 102 - #ifdef __ARCH_WANT_COMPAT_SYS_TIME 101 + #ifdef CONFIG_COMPAT_32BIT_TIME 102 + #ifdef __ARCH_WANT_SYS_TIME32 103 103 104 104 /* old_time32_t is a 32 bit "long" and needs to get converted. */ 105 - COMPAT_SYSCALL_DEFINE1(time, old_time32_t __user *, tloc) 105 + SYSCALL_DEFINE1(time32, old_time32_t __user *, tloc) 106 106 { 107 107 old_time32_t i; 108 108 ··· 116 116 return i; 117 117 } 118 118 119 - COMPAT_SYSCALL_DEFINE1(stime, old_time32_t __user *, tptr) 119 + SYSCALL_DEFINE1(stime32, old_time32_t __user *, tptr) 120 120 { 121 121 struct timespec64 tv; 122 122 int err; ··· 134 134 return 0; 135 135 } 136 136 137 - #endif /* __ARCH_WANT_COMPAT_SYS_TIME */ 137 + #endif /* __ARCH_WANT_SYS_TIME32 */ 138 138 #endif 139 139 140 140 SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv, ··· 263 263 } 264 264 #endif 265 265 266 - SYSCALL_DEFINE1(adjtimex, struct timex __user *, txc_p) 266 + #if !defined(CONFIG_64BIT_TIME) || defined(CONFIG_64BIT) 267 + SYSCALL_DEFINE1(adjtimex, struct __kernel_timex __user *, txc_p) 267 268 { 268 - struct timex txc; /* Local copy of parameter */ 269 + struct __kernel_timex txc; /* Local copy of parameter */ 269 270 int ret; 270 271 271 272 /* Copy the user data space into the kernel copy 272 273 * structure. But bear in mind that the structures 273 274 * may change 274 275 */ 275 - if (copy_from_user(&txc, txc_p, sizeof(struct timex))) 276 + if (copy_from_user(&txc, txc_p, sizeof(struct __kernel_timex))) 276 277 return -EFAULT; 277 278 ret = do_adjtimex(&txc); 278 - return copy_to_user(txc_p, &txc, sizeof(struct timex)) ? -EFAULT : ret; 279 + return copy_to_user(txc_p, &txc, sizeof(struct __kernel_timex)) ? -EFAULT : ret; 280 + } 281 + #endif 282 + 283 + #ifdef CONFIG_COMPAT_32BIT_TIME 284 + int get_old_timex32(struct __kernel_timex *txc, const struct old_timex32 __user *utp) 285 + { 286 + struct old_timex32 tx32; 287 + 288 + memset(txc, 0, sizeof(struct __kernel_timex)); 289 + if (copy_from_user(&tx32, utp, sizeof(struct old_timex32))) 290 + return -EFAULT; 291 + 292 + txc->modes = tx32.modes; 293 + txc->offset = tx32.offset; 294 + txc->freq = tx32.freq; 295 + txc->maxerror = tx32.maxerror; 296 + txc->esterror = tx32.esterror; 297 + txc->status = tx32.status; 298 + txc->constant = tx32.constant; 299 + txc->precision = tx32.precision; 300 + txc->tolerance = tx32.tolerance; 301 + txc->time.tv_sec = tx32.time.tv_sec; 302 + txc->time.tv_usec = tx32.time.tv_usec; 303 + txc->tick = tx32.tick; 304 + txc->ppsfreq = tx32.ppsfreq; 305 + txc->jitter = tx32.jitter; 306 + txc->shift = tx32.shift; 307 + txc->stabil = tx32.stabil; 308 + txc->jitcnt = tx32.jitcnt; 309 + txc->calcnt = tx32.calcnt; 310 + txc->errcnt = tx32.errcnt; 311 + txc->stbcnt = tx32.stbcnt; 312 + 313 + return 0; 279 314 } 280 315 281 - #ifdef CONFIG_COMPAT 282 - 283 - COMPAT_SYSCALL_DEFINE1(adjtimex, struct compat_timex __user *, utp) 316 + int put_old_timex32(struct old_timex32 __user *utp, const struct __kernel_timex *txc) 284 317 { 285 - struct timex txc; 318 + struct old_timex32 tx32; 319 + 320 + memset(&tx32, 0, sizeof(struct old_timex32)); 321 + tx32.modes = txc->modes; 322 + tx32.offset = txc->offset; 323 + tx32.freq = txc->freq; 324 + tx32.maxerror = txc->maxerror; 325 + tx32.esterror = txc->esterror; 326 + tx32.status = txc->status; 327 + tx32.constant = txc->constant; 328 + tx32.precision = txc->precision; 329 + tx32.tolerance = txc->tolerance; 330 + tx32.time.tv_sec = txc->time.tv_sec; 331 + tx32.time.tv_usec = txc->time.tv_usec; 332 + tx32.tick = txc->tick; 333 + tx32.ppsfreq = txc->ppsfreq; 334 + tx32.jitter = txc->jitter; 335 + tx32.shift = txc->shift; 336 + tx32.stabil = txc->stabil; 337 + tx32.jitcnt = txc->jitcnt; 338 + tx32.calcnt = txc->calcnt; 339 + tx32.errcnt = txc->errcnt; 340 + tx32.stbcnt = txc->stbcnt; 341 + tx32.tai = txc->tai; 342 + if (copy_to_user(utp, &tx32, sizeof(struct old_timex32))) 343 + return -EFAULT; 344 + return 0; 345 + } 346 + 347 + SYSCALL_DEFINE1(adjtimex_time32, struct old_timex32 __user *, utp) 348 + { 349 + struct __kernel_timex txc; 286 350 int err, ret; 287 351 288 - err = compat_get_timex(&txc, utp); 352 + err = get_old_timex32(&txc, utp); 289 353 if (err) 290 354 return err; 291 355 292 356 ret = do_adjtimex(&txc); 293 357 294 - err = compat_put_timex(utp, &txc); 358 + err = put_old_timex32(utp, &txc); 295 359 if (err) 296 360 return err; 297 361
+2 -2
kernel/time/timekeeping.c
··· 2234 2234 /** 2235 2235 * timekeeping_validate_timex - Ensures the timex is ok for use in do_adjtimex 2236 2236 */ 2237 - static int timekeeping_validate_timex(const struct timex *txc) 2237 + static int timekeeping_validate_timex(const struct __kernel_timex *txc) 2238 2238 { 2239 2239 if (txc->modes & ADJ_ADJTIME) { 2240 2240 /* singleshot must not be used with any other mode bits */ ··· 2300 2300 /** 2301 2301 * do_adjtimex() - Accessor function to NTP __do_adjtimex function 2302 2302 */ 2303 - int do_adjtimex(struct timex *txc) 2303 + int do_adjtimex(struct __kernel_timex *txc) 2304 2304 { 2305 2305 struct timekeeper *tk = &tk_core.timekeeper; 2306 2306 unsigned long flags;
+1 -1
net/compat.c
··· 762 762 } 763 763 764 764 #ifdef CONFIG_COMPAT_32BIT_TIME 765 - COMPAT_SYSCALL_DEFINE5(recvmmsg, int, fd, struct compat_mmsghdr __user *, mmsg, 765 + COMPAT_SYSCALL_DEFINE5(recvmmsg_time32, int, fd, struct compat_mmsghdr __user *, mmsg, 766 766 unsigned int, vlen, unsigned int, flags, 767 767 struct old_timespec32 __user *, timeout) 768 768 {
+51 -2
scripts/checksyscalls.sh
··· 30 30 #define __IGNORE_readlink /* readlinkat */ 31 31 #define __IGNORE_symlink /* symlinkat */ 32 32 #define __IGNORE_utimes /* futimesat */ 33 - #if BITS_PER_LONG == 64 34 33 #define __IGNORE_stat /* fstatat */ 35 34 #define __IGNORE_lstat /* fstatat */ 36 - #else 37 35 #define __IGNORE_stat64 /* fstatat64 */ 38 36 #define __IGNORE_lstat64 /* fstatat64 */ 37 + 38 + #ifndef __ARCH_WANT_SET_GET_RLIMIT 39 + #define __IGNORE_getrlimit /* getrlimit */ 40 + #define __IGNORE_setrlimit /* setrlimit */ 39 41 #endif 40 42 41 43 /* Missing flags argument */ ··· 86 84 #define __IGNORE_statfs64 87 85 #define __IGNORE_llseek 88 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 89 107 #else 90 108 #define __IGNORE_sendfile 91 109 #define __IGNORE_ftruncate ··· 120 98 #define __IGNORE_statfs 121 99 #define __IGNORE_lseek 122 100 #define __IGNORE_mmap 101 + #define __IGNORE_clock_gettime 102 + #define __IGNORE_clock_settime 103 + #define __IGNORE_clock_adjtime 104 + #define __IGNORE_clock_getres 105 + #define __IGNORE_clock_nanosleep 106 + #define __IGNORE_timer_gettime 107 + #define __IGNORE_timer_settime 108 + #define __IGNORE_timerfd_gettime 109 + #define __IGNORE_timerfd_settime 110 + #define __IGNORE_utimensat 111 + #define __IGNORE_pselect6 112 + #define __IGNORE_ppoll 113 + #define __IGNORE_io_pgetevents 114 + #define __IGNORE_recvmmsg 115 + #define __IGNORE_mq_timedsend 116 + #define __IGNORE_mq_timedreceive 117 + #define __IGNORE_semtimedop 118 + #define __IGNORE_rt_sigtimedwait 119 + #define __IGNORE_futex 120 + #define __IGNORE_sched_rr_get_interval 121 + #define __IGNORE_gettimeofday 122 + #define __IGNORE_settimeofday 123 + #define __IGNORE_wait4 124 + #define __IGNORE_adjtimex 125 + #define __IGNORE_nanosleep 126 + #define __IGNORE_io_getevents 127 + #define __IGNORE_recvmmsg 123 128 #endif 124 129 125 130 /* i386-specific or historical system calls */