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

Merge tag 'y2038-new-syscalls' of git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground into timers/2038

Pull y2038 - time64 system calls from Arnd Bergmann:

This series finally gets us to the point of having system calls with 64-bit
time_t on all architectures, after a long time of incremental preparation
patches.

There was actually one conversion that I missed during the summer,
i.e. Deepa's timex series, which I now updated based the 5.0-rc1 changes
and review comments.

The following system calls are now added on all 32-bit architectures using
the same system call numbers:

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

Each one of these corresponds directly to an existing system call that
includes a 'struct timespec' argument, or a structure containing a timespec
or (in case of clock_adjtime) timeval. Not included here are new versions
of getitimer/setitimer and getrusage/waitid, which are planned for the
future but only needed to make a consistent API rather than for correct
operation beyond y2038. These four system calls are based on 'timeval', and
it has not been finally decided what the replacement kernel interface will
use instead.

So far, I have done a lot of build testing across most architectures, which
has found a number of bugs. Runtime testing so far included testing LTP on
32-bit ARM with the existing system calls, to ensure we do not regress for
existing binaries, and a test with a 32-bit x86 build of LTP against a
modified version of the musl C library that has been adapted to the new
system call interface [3]. This library can be used for testing on all
architectures supported by musl-1.1.21, but it is not how the support is
getting integrated into the official musl release. Official musl support is
planned but will require more invasive changes to the library.

Link: https://lore.kernel.org/lkml/20190110162435.309262-1-arnd@arndb.de/T/
Link: https://lore.kernel.org/lkml/20190118161835.2259170-1-arnd@arndb.de/
Link: https://git.linaro.org/people/arnd/musl-y2038.git/ [2]

+1264 -714
+1 -1
arch/Kconfig
··· 759 759 handling. 760 760 761 761 config COMPAT_32BIT_TIME 762 - def_bool (!64BIT && 64BIT_TIME) || COMPAT 762 + def_bool !64BIT || COMPAT 763 763 help 764 764 This enables 32 bit time_t support in addition to 64 bit time_t support. 765 765 This is relevant on all 32-bit architectures, and 64-bit architectures
+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;
+2
arch/alpha/kernel/syscalls/syscall.tbl
··· 461 461 530 common getegid sys_getegid 462 462 531 common geteuid sys_geteuid 463 463 532 common getppid sys_getppid 464 + # all other architectures have common numbers for new syscall, alpha 465 + # is the exception.
+2 -2
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
+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 }
+49 -28
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 ··· 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 417 400 common migrate_pages sys_migrate_pages 418 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 402 47 + #define __NR_compat_syscalls 424 48 48 #endif 49 49 50 50 #define __ARCH_WANT_SYS_CLONE
+65 -24
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 ··· 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 ··· 825 825 __SYSCALL(__NR_migrate_pages, compat_sys_migrate_pages) 826 826 #define __NR_kexec_file_load 401 827 827 __SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) 828 + /* 402 is unused */ 829 + #define __NR_clock_gettime64 403 830 + __SYSCALL(__NR_clock_gettime64, sys_clock_gettime) 831 + #define __NR_clock_settime64 404 832 + __SYSCALL(__NR_clock_settime64, sys_clock_settime) 833 + #define __NR_clock_adjtime64 405 834 + __SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime) 835 + #define __NR_clock_getres_time64 406 836 + __SYSCALL(__NR_clock_getres_time64, sys_clock_getres) 837 + #define __NR_clock_nanosleep_time64 407 838 + __SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep) 839 + #define __NR_timer_gettime64 408 840 + __SYSCALL(__NR_timer_gettime64, sys_timer_gettime) 841 + #define __NR_timer_settime64 409 842 + __SYSCALL(__NR_timer_settime64, sys_timer_settime) 843 + #define __NR_timerfd_gettime64 410 844 + __SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime) 845 + #define __NR_timerfd_settime64 411 846 + __SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime) 847 + #define __NR_utimensat_time64 412 848 + __SYSCALL(__NR_utimensat_time64, sys_utimensat) 849 + #define __NR_pselect6_time64 413 850 + __SYSCALL(__NR_pselect6_time64, compat_sys_pselect6_time64) 851 + #define __NR_ppoll_time64 414 852 + __SYSCALL(__NR_ppoll_time64, compat_sys_ppoll_time64) 853 + #define __NR_io_pgetevents_time64 416 854 + __SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents) 855 + #define __NR_recvmmsg_time64 417 856 + __SYSCALL(__NR_recvmmsg_time64, compat_sys_recvmmsg_time64) 857 + #define __NR_mq_timedsend_time64 418 858 + __SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend) 859 + #define __NR_mq_timedreceive_time64 419 860 + __SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive) 861 + #define __NR_semtimedop_time64 420 862 + __SYSCALL(__NR_semtimedop_time64, sys_semtimedop) 863 + #define __NR_rt_sigtimedwait_time64 421 864 + __SYSCALL(__NR_rt_sigtimedwait_time64, compat_sys_rt_sigtimedwait_time64) 865 + #define __NR_futex_time64 422 866 + __SYSCALL(__NR_futex_time64, sys_futex) 867 + #define __NR_sched_rr_get_interval_time64 423 868 + __SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval) 828 869 829 870 /* 830 871 * Please add new compat syscalls above this comment and update
+1
arch/ia64/kernel/syscalls/syscall.tbl
··· 343 343 331 common pkey_alloc sys_pkey_alloc 344 344 332 common pkey_free sys_pkey_free 345 345 333 common rseq sys_rseq 346 + # 334 through 423 are reserved to sync up with other architectures
+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
+46 -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 ··· 403 403 400 common msgsnd sys_msgsnd 404 404 401 common msgrcv sys_msgrcv 405 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
+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
+49 -28
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 335 + 325 common semtimedop sys_semtimedop_time32 336 + 326 common timerfd_settime sys_timerfd_settime32 337 + 327 common timerfd_gettime sys_timerfd_gettime32 338 338 328 common semctl sys_old_semctl 339 339 329 common semget sys_semget 340 340 330 common semop sys_semop ··· 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
+2 -2
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
+46 -25
arch/mips/kernel/syscalls/syscall_n32.tbl
··· 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 ··· 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
+1
arch/mips/kernel/syscalls/syscall_n64.tbl
··· 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
+47 -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 383 # room for arch specific calls 384 384 393 o32 semget sys_semget 385 385 394 o32 semctl sys_semctl compat_sys_semctl ··· 391 391 400 o32 msgsnd sys_msgsnd compat_sys_msgsnd 392 392 401 o32 msgrcv sys_msgrcv compat_sys_msgrcv 393 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
+6 -3
arch/parisc/include/asm/unistd.h
··· 152 152 #define __ARCH_WANT_SYS_GETHOSTNAME 153 153 #define __ARCH_WANT_SYS_PAUSE 154 154 #define __ARCH_WANT_SYS_SIGNAL 155 - #define __ARCH_WANT_SYS_TIME 156 - #define __ARCH_WANT_COMPAT_SYS_TIME 155 + #define __ARCH_WANT_SYS_TIME32 157 156 #define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL 158 - #define __ARCH_WANT_SYS_UTIME 159 157 #define __ARCH_WANT_SYS_UTIME32 160 158 #define __ARCH_WANT_SYS_WAITPID 161 159 #define __ARCH_WANT_SYS_SOCKETCALL ··· 167 169 #define __ARCH_WANT_SYS_VFORK 168 170 #define __ARCH_WANT_SYS_CLONE 169 171 #define __ARCH_WANT_COMPAT_SYS_SENDFILE 172 + 173 + #ifdef CONFIG_64BIT 174 + #define __ARCH_WANT_SYS_TIME 175 + #define __ARCH_WANT_SYS_UTIME 176 + #endif 170 177 171 178 #endif /* __ASSEMBLY__ */ 172 179
+77 -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 397 371 351 common pkey_mprotect sys_pkey_mprotect 398 372 352 common pkey_alloc sys_pkey_alloc 399 373 353 common pkey_free sys_pkey_free 400 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
+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
+94 -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 ··· 471 425 385 nospu pkey_free sys_pkey_free 472 426 386 nospu pkey_mprotect sys_pkey_mprotect 473 427 387 nospu rseq sys_rseq 474 - 388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents 428 + 388 32 io_pgetevents sys_io_pgetevents_time32 compat_sys_io_pgetevents 429 + 388 64 io_pgetevents sys_io_pgetevents 475 430 # room for arch specific syscalls 476 431 392 64 semtimedop sys_semtimedop 477 432 393 common semget sys_semget ··· 485 438 400 common msgsnd sys_msgsnd compat_sys_msgsnd 486 439 401 common msgrcv sys_msgrcv compat_sys_msgrcv 487 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 -1
arch/s390/include/asm/unistd.h
··· 28 28 #define __ARCH_WANT_SYS_SIGPENDING 29 29 #define __ARCH_WANT_SYS_SIGPROCMASK 30 30 # ifdef CONFIG_COMPAT 31 - # define __ARCH_WANT_COMPAT_SYS_TIME 31 + # define __ARCH_WANT_SYS_TIME32 32 32 # define __ARCH_WANT_SYS_UTIME32 33 33 # endif 34 34 #define __ARCH_WANT_SYS_FORK
+46 -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 ··· 406 406 400 common msgsnd sys_msgsnd compat_sys_msgsnd 407 407 401 common msgrcv sys_msgrcv compat_sys_msgrcv 408 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
+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
+46 -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 ··· 406 406 400 common msgsnd sys_msgsnd 407 407 401 common msgrcv sys_msgrcv 408 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
+4 -4
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 -1
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 ··· 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,
+73 -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 435 411 362 common pkey_mprotect sys_pkey_mprotect 436 412 363 common pkey_alloc sys_pkey_alloc 437 413 364 common pkey_free sys_pkey_free ··· 449 423 400 common msgsnd sys_msgsnd compat_sys_msgsnd 450 424 401 common msgrcv sys_msgrcv compat_sys_msgrcv 451 425 402 common msgctl sys_msgctl compat_sys_msgctl 426 + 403 32 clock_gettime64 sys_clock_gettime sys_clock_gettime 427 + 404 32 clock_settime64 sys_clock_settime sys_clock_settime 428 + 405 32 clock_adjtime64 sys_clock_adjtime sys_clock_adjtime 429 + 406 32 clock_getres_time64 sys_clock_getres sys_clock_getres 430 + 407 32 clock_nanosleep_time64 sys_clock_nanosleep sys_clock_nanosleep 431 + 408 32 timer_gettime64 sys_timer_gettime sys_timer_gettime 432 + 409 32 timer_settime64 sys_timer_settime sys_timer_settime 433 + 410 32 timerfd_gettime64 sys_timerfd_gettime sys_timerfd_gettime 434 + 411 32 timerfd_settime64 sys_timerfd_settime sys_timerfd_settime 435 + 412 32 utimensat_time64 sys_utimensat sys_utimensat 436 + 413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64 437 + 414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64 438 + 416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents 439 + 417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64 440 + 418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend 441 + 419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive 442 + 420 32 semtimedop_time64 sys_semtimedop sys_semtimedop 443 + 421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64 444 + 422 32 futex_time64 sys_futex sys_futex 445 + 423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
+47 -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 401 # don't use numbers 387 through 392, add new calls at the end 402 402 393 i386 semget sys_semget __ia32_sys_semget ··· 409 409 400 i386 msgsnd sys_msgsnd __ia32_compat_sys_msgsnd 410 410 401 i386 msgrcv sys_msgrcv __ia32_compat_sys_msgrcv 411 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
+2 -2
arch/x86/entry/syscalls/syscall_64.tbl
··· 363 363 520 x32 execve __x32_compat_sys_execve/ptregs 364 364 521 x32 ptrace __x32_compat_sys_ptrace 365 365 522 x32 rt_sigpending __x32_compat_sys_rt_sigpending 366 - 523 x32 rt_sigtimedwait __x32_compat_sys_rt_sigtimedwait 366 + 523 x32 rt_sigtimedwait __x32_compat_sys_rt_sigtimedwait_time64 367 367 524 x32 rt_sigqueueinfo __x32_compat_sys_rt_sigqueueinfo 368 368 525 x32 sigaltstack __x32_compat_sys_sigaltstack 369 369 526 x32 timer_create __x32_compat_sys_timer_create ··· 377 377 534 x32 preadv __x32_compat_sys_preadv64 378 378 535 x32 pwritev __x32_compat_sys_pwritev64 379 379 536 x32 rt_tgsigqueueinfo __x32_compat_sys_rt_tgsigqueueinfo 380 - 537 x32 recvmmsg __x32_compat_sys_recvmmsg 380 + 537 x32 recvmmsg __x32_compat_sys_recvmmsg_time64 381 381 538 x32 sendmmsg __x32_compat_sys_sendmmsg 382 382 539 x32 process_vm_readv __x32_compat_sys_process_vm_readv 383 383 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 -1
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 12 13 13 #define NR_syscalls __NR_syscalls
+46 -25
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 ··· 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 180 164 common semctl sys_old_semctl ··· 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 ··· 373 373 350 common pkey_free sys_pkey_free 374 374 351 common statx sys_statx 375 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
··· 2198 2198 2199 2199 #if defined(CONFIG_COMPAT_32BIT_TIME) 2200 2200 2201 - COMPAT_SYSCALL_DEFINE5(io_getevents, compat_aio_context_t, ctx_id, 2202 - compat_long_t, min_nr, 2203 - compat_long_t, nr, 2204 - struct io_event __user *, events, 2205 - struct old_timespec32 __user *, timeout) 2201 + SYSCALL_DEFINE5(io_getevents_time32, __u32, ctx_id, 2202 + __s32, min_nr, 2203 + __s32, nr, 2204 + struct io_event __user *, events, 2205 + struct old_timespec32 __user *, timeout) 2206 2206 { 2207 2207 struct timespec64 t; 2208 2208 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/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
+61 -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); ··· 774 731 asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, 775 732 unsigned nsops, 776 733 const struct __kernel_timespec __user *timeout); 734 + asmlinkage long sys_semtimedop_time32(int semid, struct sembuf __user *sops, 735 + unsigned nsops, 736 + const struct old_timespec32 __user *timeout); 777 737 asmlinkage long sys_semop(int semid, struct sembuf __user *sops, 778 738 unsigned nsops); 779 739 ··· 916 870 struct file_handle __user *handle, 917 871 int flags); 918 872 asmlinkage long sys_clock_adjtime(clockid_t which_clock, 919 - struct timex __user *tx); 873 + struct __kernel_timex __user *tx); 874 + asmlinkage long sys_clock_adjtime32(clockid_t which_clock, 875 + struct old_timex32 __user *tx); 920 876 asmlinkage long sys_syncfs(int fd); 921 877 asmlinkage long sys_setns(int fd, int nstype); 922 878 asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg, ··· 1054 1006 asmlinkage long sys_getpgrp(void); 1055 1007 asmlinkage long sys_pause(void); 1056 1008 asmlinkage long sys_time(time_t __user *tloc); 1009 + asmlinkage long sys_time32(old_time32_t __user *tloc); 1057 1010 #ifdef __ARCH_WANT_SYS_UTIME 1058 1011 asmlinkage long sys_utime(char __user *filename, 1059 1012 struct utimbuf __user *times); ··· 1063 1014 asmlinkage long sys_futimesat(int dfd, const char __user *filename, 1064 1015 struct timeval __user *utimes); 1065 1016 #endif 1017 + asmlinkage long sys_futimesat_time32(unsigned int dfd, 1018 + const char __user *filename, 1019 + struct old_timeval32 __user *t); 1020 + asmlinkage long sys_utime32(const char __user *filename, 1021 + struct old_utimbuf32 __user *t); 1022 + asmlinkage long sys_utimes_time32(const char __user *filename, 1023 + struct old_timeval32 __user *t); 1066 1024 asmlinkage long sys_creat(const char __user *pathname, umode_t mode); 1067 1025 asmlinkage long sys_getdents(unsigned int fd, 1068 1026 struct linux_dirent __user *dirent, ··· 1094 1038 1095 1039 /* obsolete: kernel/time/time.c */ 1096 1040 asmlinkage long sys_stime(time_t __user *tptr); 1041 + asmlinkage long sys_stime32(old_time32_t __user *tptr); 1097 1042 1098 1043 /* obsolete: kernel/signal.c */ 1099 1044 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);
+72 -30
include/uapi/asm-generic/unistd.h
··· 39 39 #define __NR_io_cancel 3 40 40 __SYSCALL(__NR_io_cancel, sys_io_cancel) 41 41 #define __NR_io_getevents 4 42 - __SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents) 42 + __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) 43 43 44 44 /* fs/xattr.c */ 45 45 #define __NR_setxattr 5 ··· 223 223 224 224 /* fs/select.c */ 225 225 #define __NR_pselect6 72 226 - __SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6) 226 + __SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32) 227 227 #define __NR_ppoll 73 228 - __SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll) 228 + __SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32) 229 229 230 230 /* fs/signalfd.c */ 231 231 #define __NR_signalfd4 74 ··· 270 270 #define __NR_timerfd_create 85 271 271 __SYSCALL(__NR_timerfd_create, sys_timerfd_create) 272 272 #define __NR_timerfd_settime 86 273 - __SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \ 274 - compat_sys_timerfd_settime) 273 + __SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \ 274 + sys_timerfd_settime) 275 275 #define __NR_timerfd_gettime 87 276 - __SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \ 277 - compat_sys_timerfd_gettime) 276 + __SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \ 277 + sys_timerfd_gettime) 278 278 279 279 /* fs/utimes.c */ 280 280 #define __NR_utimensat 88 281 - __SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat) 281 + __SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat) 282 282 283 283 /* kernel/acct.c */ 284 284 #define __NR_acct 89 ··· 310 310 311 311 /* kernel/futex.c */ 312 312 #define __NR_futex 98 313 - __SC_COMP(__NR_futex, sys_futex, compat_sys_futex) 313 + __SC_3264(__NR_futex, sys_futex_time32, sys_futex) 314 314 #define __NR_set_robust_list 99 315 315 __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \ 316 316 compat_sys_set_robust_list) ··· 320 320 321 321 /* kernel/hrtimer.c */ 322 322 #define __NR_nanosleep 101 323 - __SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep) 323 + __SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep) 324 324 325 325 /* kernel/itimer.c */ 326 326 #define __NR_getitimer 102 ··· 342 342 #define __NR_timer_create 107 343 343 __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create) 344 344 #define __NR_timer_gettime 108 345 - __SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime) 345 + __SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime) 346 346 #define __NR_timer_getoverrun 109 347 347 __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun) 348 348 #define __NR_timer_settime 110 349 - __SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime) 349 + __SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime) 350 350 #define __NR_timer_delete 111 351 351 __SYSCALL(__NR_timer_delete, sys_timer_delete) 352 352 #define __NR_clock_settime 112 353 - __SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime) 353 + __SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime) 354 354 #define __NR_clock_gettime 113 355 - __SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime) 355 + __SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime) 356 356 #define __NR_clock_getres 114 357 - __SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres) 357 + __SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres) 358 358 #define __NR_clock_nanosleep 115 359 - __SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \ 360 - compat_sys_clock_nanosleep) 359 + __SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \ 360 + sys_clock_nanosleep) 361 361 362 362 /* kernel/printk.c */ 363 363 #define __NR_syslog 116 ··· 389 389 #define __NR_sched_get_priority_min 126 390 390 __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min) 391 391 #define __NR_sched_rr_get_interval 127 392 - __SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \ 393 - compat_sys_sched_rr_get_interval) 392 + __SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \ 393 + sys_sched_rr_get_interval) 394 394 395 395 /* kernel/signal.c */ 396 396 #define __NR_restart_syscall 128 ··· 412 412 #define __NR_rt_sigpending 136 413 413 __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending) 414 414 #define __NR_rt_sigtimedwait 137 415 - __SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \ 416 - compat_sys_rt_sigtimedwait) 415 + __SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \ 416 + sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32) 417 417 #define __NR_rt_sigqueueinfo 138 418 418 __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \ 419 419 compat_sys_rt_sigqueueinfo) ··· 486 486 #define __NR_settimeofday 170 487 487 __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday) 488 488 #define __NR_adjtimex 171 489 - __SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex) 489 + __SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex) 490 490 491 491 /* kernel/timer.c */ 492 492 #define __NR_getpid 172 ··· 512 512 #define __NR_mq_unlink 181 513 513 __SYSCALL(__NR_mq_unlink, sys_mq_unlink) 514 514 #define __NR_mq_timedsend 182 515 - __SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend) 515 + __SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend) 516 516 #define __NR_mq_timedreceive 183 517 - __SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \ 518 - compat_sys_mq_timedreceive) 517 + __SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \ 518 + sys_mq_timedreceive) 519 519 #define __NR_mq_notify 184 520 520 __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify) 521 521 #define __NR_mq_getsetattr 185 ··· 537 537 #define __NR_semctl 191 538 538 __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl) 539 539 #define __NR_semtimedop 192 540 - __SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop) 540 + __SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32) 541 541 #define __NR_semop 193 542 542 __SYSCALL(__NR_semop, sys_semop) 543 543 ··· 659 659 #define __NR_accept4 242 660 660 __SYSCALL(__NR_accept4, sys_accept4) 661 661 #define __NR_recvmmsg 243 662 - __SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg) 662 + __SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32) 663 663 664 664 /* 665 665 * Architectures may provide up to 16 syscalls of their own ··· 681 681 __SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \ 682 682 compat_sys_open_by_handle_at) 683 683 #define __NR_clock_adjtime 266 684 - __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 685 #define __NR_syncfs 267 686 686 __SYSCALL(__NR_syncfs, sys_syncfs) 687 687 #define __NR_setns 268 ··· 735 735 #define __NR_statx 291 736 736 __SYSCALL(__NR_statx, sys_statx) 737 737 #define __NR_io_pgetevents 292 738 - __SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents) 738 + __SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents) 739 739 #define __NR_rseq 293 740 740 __SYSCALL(__NR_rseq, sys_rseq) 741 741 #define __NR_kexec_file_load 294 742 742 __SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) 743 743 /* 295 through 402 are unassigned to sync up with generic numbers, don't use */ 744 + #if __BITS_PER_LONG == 32 745 + #define __NR_clock_gettime64 403 746 + __SYSCALL(__NR_clock_gettime64, sys_clock_gettime) 747 + #define __NR_clock_settime64 404 748 + __SYSCALL(__NR_clock_settime64, sys_clock_settime) 749 + #define __NR_clock_adjtime64 405 750 + __SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime) 751 + #define __NR_clock_getres_time64 406 752 + __SYSCALL(__NR_clock_getres_time64, sys_clock_getres) 753 + #define __NR_clock_nanosleep_time64 407 754 + __SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep) 755 + #define __NR_timer_gettime64 408 756 + __SYSCALL(__NR_timer_gettime64, sys_timer_gettime) 757 + #define __NR_timer_settime64 409 758 + __SYSCALL(__NR_timer_settime64, sys_timer_settime) 759 + #define __NR_timerfd_gettime64 410 760 + __SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime) 761 + #define __NR_timerfd_settime64 411 762 + __SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime) 763 + #define __NR_utimensat_time64 412 764 + __SYSCALL(__NR_utimensat_time64, sys_utimensat) 765 + #define __NR_pselect6_time64 413 766 + __SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64) 767 + #define __NR_ppoll_time64 414 768 + __SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64) 769 + #define __NR_io_pgetevents_time64 416 770 + __SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents) 771 + #define __NR_recvmmsg_time64 417 772 + __SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64) 773 + #define __NR_mq_timedsend_time64 418 774 + __SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend) 775 + #define __NR_mq_timedreceive_time64 419 776 + __SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive) 777 + #define __NR_semtimedop_time64 420 778 + __SYSCALL(__NR_semtimedop_time64, sys_semtimedop) 779 + #define __NR_rt_sigtimedwait_time64 421 780 + __SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64) 781 + #define __NR_futex_time64 422 782 + __SYSCALL(__NR_futex_time64, sys_futex) 783 + #define __NR_sched_rr_get_interval_time64 423 784 + __SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval) 785 + #endif 744 786 745 787 #undef __NR_syscalls 746 - #define __NR_syscalls 295 788 + #define __NR_syscalls 424 747 789 748 790 /* 749 791 * 32 bit systems traditionally used different
-4
include/uapi/linux/time.h
··· 42 42 struct timeval it_value; /* current value */ 43 43 }; 44 44 45 - #ifndef __kernel_timespec 46 45 struct __kernel_timespec { 47 46 __kernel_time64_t tv_sec; /* seconds */ 48 47 long long tv_nsec; /* nanoseconds */ 49 48 }; 50 - #endif 51 49 52 - #ifndef __kernel_itimerspec 53 50 struct __kernel_itimerspec { 54 51 struct __kernel_timespec it_interval; /* timer period */ 55 52 struct __kernel_timespec it_value; /* timer expiration */ 56 53 }; 57 - #endif 58 54 59 55 /* 60 56 * 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) {
+1 -1
ipc/sem.c
··· 2250 2250 return do_semtimedop(semid, tsems, nsops, NULL); 2251 2251 } 2252 2252 2253 - COMPAT_SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsems, 2253 + SYSCALL_DEFINE4(semtimedop_time32, int, semid, struct sembuf __user *, tsems, 2254 2254 unsigned int, nsops, 2255 2255 const struct old_timespec32 __user *, timeout) 2256 2256 {
-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
··· 3815 3815 #endif /* CONFIG_COMPAT */ 3816 3816 3817 3817 #ifdef CONFIG_COMPAT_32BIT_TIME 3818 - COMPAT_SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, 3818 + SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, 3819 3819 struct old_timespec32 __user *, utime, u32 __user *, uaddr2, 3820 3820 u32, val3) 3821 3821 {
+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
··· 3397 3397 } 3398 3398 3399 3399 #ifdef CONFIG_COMPAT_32BIT_TIME 3400 - COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait, compat_sigset_t __user *, uthese, 3400 + COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait_time32, compat_sigset_t __user *, uthese, 3401 3401 struct compat_siginfo __user *, uinfo, 3402 3402 struct old_timespec32 __user *, uts, compat_size_t, sigsetsize) 3403 3403 {
+10 -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); ··· 213 211 COND_SYSCALL(semctl); 214 212 COND_SYSCALL_COMPAT(semctl); 215 213 COND_SYSCALL(semtimedop); 216 - COND_SYSCALL_COMPAT(semtimedop); 214 + COND_SYSCALL(semtimedop_time32); 217 215 COND_SYSCALL(semop); 218 216 219 217 /* ipc/shm.c */ ··· 290 288 COND_SYSCALL(accept4); 291 289 COND_SYSCALL(recvmmsg); 292 290 COND_SYSCALL(recvmmsg_time32); 293 - COND_SYSCALL_COMPAT(recvmmsg); 291 + COND_SYSCALL_COMPAT(recvmmsg_time32); 294 292 COND_SYSCALL_COMPAT(recvmmsg_time64); 295 293 296 294 /*
+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
··· 822 822 } 823 823 824 824 #ifdef CONFIG_COMPAT_32BIT_TIME 825 - COMPAT_SYSCALL_DEFINE5(recvmmsg, int, fd, struct compat_mmsghdr __user *, mmsg, 825 + COMPAT_SYSCALL_DEFINE5(recvmmsg_time32, int, fd, struct compat_mmsghdr __user *, mmsg, 826 826 unsigned int, vlen, unsigned int, flags, 827 827 struct old_timespec32 __user *, timeout) 828 828 {
+40
scripts/checksyscalls.sh
··· 84 84 #define __IGNORE_statfs64 85 85 #define __IGNORE_llseek 86 86 #define __IGNORE_mmap2 87 + #define __IGNORE_clock_gettime64 88 + #define __IGNORE_clock_settime64 89 + #define __IGNORE_clock_adjtime64 90 + #define __IGNORE_clock_getres_time64 91 + #define __IGNORE_clock_nanosleep_time64 92 + #define __IGNORE_timer_gettime64 93 + #define __IGNORE_timer_settime64 94 + #define __IGNORE_timerfd_gettime64 95 + #define __IGNORE_timerfd_settime64 96 + #define __IGNORE_utimensat_time64 97 + #define __IGNORE_pselect6_time64 98 + #define __IGNORE_ppoll_time64 99 + #define __IGNORE_io_pgetevents_time64 100 + #define __IGNORE_recvmmsg_time64 101 + #define __IGNORE_mq_timedsend_time64 102 + #define __IGNORE_mq_timedreceive_time64 103 + #define __IGNORE_semtimedop_time64 104 + #define __IGNORE_rt_sigtimedwait_time64 105 + #define __IGNORE_futex_time64 106 + #define __IGNORE_sched_rr_get_interval_time64 87 107 #else 88 108 #define __IGNORE_sendfile 89 109 #define __IGNORE_ftruncate ··· 118 98 #define __IGNORE_statfs 119 99 #define __IGNORE_lseek 120 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_timedreceiv 117 + #define __IGNORE_semtimedop 118 + #define __IGNORE_rt_sigtimedwait 119 + #define __IGNORE_futex 120 + #define __IGNORE_sched_rr_get_interval 121 121 #endif 122 122 123 123 /* i386-specific or historical system calls */