History

y2038: use time32 syscall names on 32-bit

This is the big flip, where all 32-bit architectures set COMPAT_32BIT_TIME and use the _time32 system calls from the former compat layer instead of the system calls that take __kernel_timespec and similar arguments. The temporary redirects for __kernel_timespec, __kernel_itimerspec and __kernel_timex can get removed with this. It would be easy to split this commit by architecture, but with the new generated system call tables, it's easy enough to do it all at once, which makes it a little easier to check that the changes are the same in each table.

Arnd Bergmann committed 7 years ago

Commit 00bf25d1 parent 8dabe7213 files · +335 −254Browse files

Showing the changes to include/uapi (1 of 13 files). Show all

Unified · Split

include/uapi/asm-generic/unistd.h+28−28
@@ -39,7 +39,7 @@ __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) · 38 unmodified lines
3939 #define __NR_io_cancel 3
4040 __SYSCALL(__NR_io_cancel, sys_io_cancel)
4141 #define __NR_io_getevents 4
42−__SC_COMP(__NR_io_getevents, sys_io_getevents, sys_io_getevents_time32)
42+__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents)
4343
4444 /* fs/xattr.c */
4545 #define __NR_setxattr 5
@@ -223,9 +223,9 @@ __SYSCALL(__NR3264_sendfile, sys_sendfile64) · 177 unmodified lines
223223
224224 /* fs/select.c */
225225 #define __NR_pselect6 72
226−__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6_time32)
226+__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32)
227227 #define __NR_ppoll 73
228−__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll_time32)
228+__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32)
229229
230230 /* fs/signalfd.c */
231231 #define __NR_signalfd4 74
@@ -270,15 +270,15 @@ __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \ · 38 unmodified lines
270270 #define __NR_timerfd_create 85
271271 __SYSCALL(__NR_timerfd_create, sys_timerfd_create)
272272 #define __NR_timerfd_settime 86
273−__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
274− sys_timerfd_settime32)
273+__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \
274+ sys_timerfd_settime)
275275 #define __NR_timerfd_gettime 87
276−__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
277− sys_timerfd_gettime32)
276+__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \
277+ sys_timerfd_gettime)
278278
279279 /* fs/utimes.c */
280280 #define __NR_utimensat 88
281−__SC_COMP(__NR_utimensat, sys_utimensat, sys_utimensat_time32)
281+__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat)
282282
283283 /* kernel/acct.c */
284284 #define __NR_acct 89
@@ -310,7 +310,7 @@ __SYSCALL(__NR_unshare, sys_unshare) · 25 unmodified lines
310310
311311 /* kernel/futex.c */
312312 #define __NR_futex 98
313−__SC_COMP(__NR_futex, sys_futex, sys_futex_time32)
313+__SC_3264(__NR_futex, sys_futex_time32, sys_futex)
314314 #define __NR_set_robust_list 99
315315 __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
316316 compat_sys_set_robust_list)
@@ -320,7 +320,7 @@ __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \ · 3 unmodified lines
320320
321321 /* kernel/hrtimer.c */
322322 #define __NR_nanosleep 101
323−__SC_COMP(__NR_nanosleep, sys_nanosleep, sys_nanosleep_time32)
323+__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep)
324324
325325 /* kernel/itimer.c */
326326 #define __NR_getitimer 102
@@ -342,22 +342,22 @@ __SYSCALL(__NR_delete_module, sys_delete_module) · 15 unmodified lines
342342 #define __NR_timer_create 107
343343 __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
344344 #define __NR_timer_gettime 108
345−__SC_COMP(__NR_timer_gettime, sys_timer_gettime, sys_timer_gettime32)
345+__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime)
346346 #define __NR_timer_getoverrun 109
347347 __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
348348 #define __NR_timer_settime 110
349−__SC_COMP(__NR_timer_settime, sys_timer_settime, sys_timer_settime32)
349+__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime)
350350 #define __NR_timer_delete 111
351351 __SYSCALL(__NR_timer_delete, sys_timer_delete)
352352 #define __NR_clock_settime 112
353−__SC_COMP(__NR_clock_settime, sys_clock_settime, sys_clock_settime32)
353+__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime)
354354 #define __NR_clock_gettime 113
355−__SC_COMP(__NR_clock_gettime, sys_clock_gettime, sys_clock_gettime32)
355+__SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime)
356356 #define __NR_clock_getres 114
357−__SC_COMP(__NR_clock_getres, sys_clock_getres, sys_clock_getres_time32)
357+__SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres)
358358 #define __NR_clock_nanosleep 115
359−__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
360− sys_clock_nanosleep_time32)
359+__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \
360+ sys_clock_nanosleep)
361361
362362 /* kernel/printk.c */
363363 #define __NR_syslog 116
@@ -389,8 +389,8 @@ __SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max) · 25 unmodified lines
389389 #define __NR_sched_get_priority_min 126
390390 __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
391391 #define __NR_sched_rr_get_interval 127
392−__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
393− sys_sched_rr_get_interval_time32)
392+__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \
393+ sys_sched_rr_get_interval)
394394
395395 /* kernel/signal.c */
396396 #define __NR_restart_syscall 128
@@ -412,8 +412,8 @@ __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask) · 15 unmodified lines
412412 #define __NR_rt_sigpending 136
413413 __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
414414 #define __NR_rt_sigtimedwait 137
415−__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
416− compat_sys_rt_sigtimedwait_time32)
415+__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \
416+ sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)
417417 #define __NR_rt_sigqueueinfo 138
418418 __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
419419 compat_sys_rt_sigqueueinfo)
@@ -486,7 +486,7 @@ __SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday) · 66 unmodified lines
486486 #define __NR_settimeofday 170
487487 __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
488488 #define __NR_adjtimex 171
489−__SC_COMP(__NR_adjtimex, sys_adjtimex, sys_adjtimex_time32)
489+__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex)
490490
491491 /* kernel/timer.c */
492492 #define __NR_getpid 172
@@ -512,10 +512,10 @@ __SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open) · 19 unmodified lines
512512 #define __NR_mq_unlink 181
513513 __SYSCALL(__NR_mq_unlink, sys_mq_unlink)
514514 #define __NR_mq_timedsend 182
515−__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, sys_mq_timedsend_time32)
515+__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend)
516516 #define __NR_mq_timedreceive 183
517−__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
518− sys_mq_timedreceive_time32)
517+__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \
518+ sys_mq_timedreceive)
519519 #define __NR_mq_notify 184
520520 __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
521521 #define __NR_mq_getsetattr 185
@@ -659,7 +659,7 @@ __SYSCALL(__NR_perf_event_open, sys_perf_event_open) · 137 unmodified lines
659659 #define __NR_accept4 242
660660 __SYSCALL(__NR_accept4, sys_accept4)
661661 #define __NR_recvmmsg 243
662−__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg_time32)
662+__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32)
663663
664664 /*
665665 * Architectures may provide up to 16 syscalls of their own
@@ -681,7 +681,7 @@ __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) · 15 unmodified lines
681681 __SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
682682 compat_sys_open_by_handle_at)
683683 #define __NR_clock_adjtime 266
684−__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, sys_clock_adjtime32)
684+__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime)
685685 #define __NR_syncfs 267
686686 __SYSCALL(__NR_syncfs, sys_syncfs)
687687 #define __NR_setns 268
@@ -735,7 +735,7 @@ __SYSCALL(__NR_pkey_free, sys_pkey_free) · 47 unmodified lines
735735 #define __NR_statx 291
736736 __SYSCALL(__NR_statx, sys_statx)
737737 #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)
739739 #define __NR_rseq 293
740740 __SYSCALL(__NR_rseq, sys_rseq)
741741 #define __NR_kexec_file_load 294

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t