The CONFIG_64BIT_TIME option is defined on all architectures, and can be removed for simplicity now.
Unified · Split
| @@ -796,14 +796,6 @@ config OLD_SIGACTION · 795 unmodified lines | |||
| 796 | config COMPAT_OLD_SIGACTION | 796 | config COMPAT_OLD_SIGACTION |
| 797 | bool | 797 | bool |
| 798 | 798 | ||
| 799 | config 64BIT_TIME | ||
| 800 | def_bool y | ||
| 801 | help | ||
| 802 | This should be selected by all architectures that need to support | ||
| 803 | new system calls with a 64-bit time_t. This is relevant on all 32-bit | ||
| 804 | architectures, and 64-bit architectures as part of compat syscall | ||
| 805 | handling. | ||
| 806 | |||
| 807 | config COMPAT_32BIT_TIME | 799 | config COMPAT_32BIT_TIME |
| 808 | def_bool !64BIT || COMPAT | 800 | def_bool !64BIT || COMPAT |
| 809 | help | 801 | help |
| @@ -2056,7 +2056,7 @@ static long do_io_getevents(aio_context_t ctx_id, · 2055 unmodified lines | |||
| 2056 | * specifies an infinite timeout. Note that the timeout pointed to by | 2056 | * specifies an infinite timeout. Note that the timeout pointed to by |
| 2057 | * timeout is relative. Will fail with -ENOSYS if not implemented. | 2057 | * timeout is relative. Will fail with -ENOSYS if not implemented. |
| 2058 | */ | 2058 | */ |
| 2059 | #if !defined(CONFIG_64BIT_TIME) || defined(CONFIG_64BIT) | 2059 | #ifdef CONFIG_64BIT |
| 2060 | 2060 | ||
| 2061 | SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id, | 2061 | SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id, |
| 2062 | long, min_nr, | 2062 | long, min_nr, |
| @@ -30,7 +30,7 @@ int ksys_ipc(unsigned int call, int first, unsigned long second, · 29 unmodified lines | |||
| 30 | return ksys_semtimedop(first, (struct sembuf __user *)ptr, | 30 | return ksys_semtimedop(first, (struct sembuf __user *)ptr, |
| 31 | second, NULL); | 31 | second, NULL); |
| 32 | case SEMTIMEDOP: | 32 | case SEMTIMEDOP: |
| 33 | if (IS_ENABLED(CONFIG_64BIT) || !IS_ENABLED(CONFIG_64BIT_TIME)) | 33 | if (IS_ENABLED(CONFIG_64BIT)) |
| 34 | return ksys_semtimedop(first, ptr, second, | 34 | return ksys_semtimedop(first, ptr, second, |
| 35 | (const struct __kernel_timespec __user *)fifth); | 35 | (const struct __kernel_timespec __user *)fifth); |
| 36 | else if (IS_ENABLED(CONFIG_COMPAT_32BIT_TIME)) | 36 | else if (IS_ENABLED(CONFIG_COMPAT_32BIT_TIME)) |
| @@ -1940,7 +1940,7 @@ out: · 1939 unmodified lines | |||
| 1940 | return ret; | 1940 | return ret; |
| 1941 | } | 1941 | } |
| 1942 | 1942 | ||
| 1943 | #if !defined(CONFIG_64BIT_TIME) || defined(CONFIG_64BIT) | 1943 | #ifdef CONFIG_64BIT |
| 1944 | 1944 | ||
| 1945 | SYSCALL_DEFINE2(nanosleep, struct __kernel_timespec __user *, rqtp, | 1945 | SYSCALL_DEFINE2(nanosleep, struct __kernel_timespec __user *, rqtp, |
| 1946 | struct __kernel_timespec __user *, rmtp) | 1946 | struct __kernel_timespec __user *, rmtp) |
| @@ -267,7 +267,7 @@ COMPAT_SYSCALL_DEFINE2(settimeofday, struct old_timeval32 __user *, tv, · 266 unmodified lines | |||
| 267 | } | 267 | } |
| 268 | #endif | 268 | #endif |
| 269 | 269 | ||
| 270 | #if !defined(CONFIG_64BIT_TIME) || defined(CONFIG_64BIT) | 270 | #ifdef CONFIG_64BIT |
| 271 | SYSCALL_DEFINE1(adjtimex, struct __kernel_timex __user *, txc_p) | 271 | SYSCALL_DEFINE1(adjtimex, struct __kernel_timex __user *, txc_p) |
| 272 | { | 272 | { |
| 273 | struct __kernel_timex txc; /* Local copy of parameter */ | 273 | struct __kernel_timex txc; /* Local copy of parameter */ |
| @@ -881,7 +881,7 @@ int get_timespec64(struct timespec64 *ts, · 607 unmodified lines | |||
| 881 | ts->tv_sec = kts.tv_sec; | 881 | ts->tv_sec = kts.tv_sec; |
| 882 | 882 | ||
| 883 | /* Zero out the padding for 32 bit systems or in compat mode */ | 883 | /* Zero out the padding for 32 bit systems or in compat mode */ |
| 884 | if (IS_ENABLED(CONFIG_64BIT_TIME) && in_compat_syscall()) | 884 | if (in_compat_syscall()) |
| 885 | kts.tv_nsec &= 0xFFFFFFFFUL; | 885 | kts.tv_nsec &= 0xFFFFFFFFUL; |
| 886 | 886 | ||
| 887 | ts->tv_nsec = kts.tv_nsec; | 887 | ts->tv_nsec = kts.tv_nsec; |
| @@ -2833,7 +2833,7 @@ SYSCALL_DEFINE2(socketcall, int, call, unsigned long __user *, args) · 2832 unmodified lines | |||
| 2833 | a[2], true); | 2833 | a[2], true); |
| 2834 | break; | 2834 | break; |
| 2835 | case SYS_RECVMMSG: | 2835 | case SYS_RECVMMSG: |
| 2836 | if (IS_ENABLED(CONFIG_64BIT) || !IS_ENABLED(CONFIG_64BIT_TIME)) | 2836 | if (IS_ENABLED(CONFIG_64BIT)) |
| 2837 | err = __sys_recvmmsg(a0, (struct mmsghdr __user *)a1, | 2837 | err = __sys_recvmmsg(a0, (struct mmsghdr __user *)a1, |
| 2838 | a[2], a[3], | 2838 | a[2], a[3], |
| 2839 | (struct __kernel_timespec __user *)a[4], | 2839 | (struct __kernel_timespec __user *)a[4], |