Re: [Y2038] [PATCH 2/2] alpha: osf_sys.c: use timespec64 where appropriate

From: Ben Hutchings
Date: Tue Nov 07 2017 - 19:22:47 EST


On Tue, 2017-11-07 at 15:09 +0100, Arnd Bergmann wrote:
> Some of the syscall helper functions (do_utimes, poll_select_set_timeout,
> core_sys_select) have changed over the past year or two to use
> 'timespec64' pointers rather than 'timespec'. This was fine on alpha,
> since 64-bit architectures treat the two as the same type.
>
> However, I'd like to change that behavior and make 'timespec64' a proper
> type of its own even on 64-bit architectures, and that will introduce
> harmless type mismatch warnings here.
>
> Also, I'm trying to kill off the do_gettimeofday() helper in favor of
> ktime_get() and related interfaces throughout the kernel.
[...]
> @@ -1004,9 +1013,10 @@ SYSCALL_DEFINE2(osf_gettimeofday, struct timeval32 __user *, tv,
> Â struct timezone __user *, tz)
> Â{
> Â if (tv) {
> - struct timeval ktv;
> - do_gettimeofday(&ktv);
> - if (put_tv32(tv, &ktv))
> + struct timespec64 kts;
> +
> + ktime_get_ts64(&kts);
[...]

But this syscall is supposed to use the realtime clock, no? It seems
like the correct substitute here is getnstimeofday64() (as the kernel-
doc comment for do_gettimeofday() *almost* says).

Ben.

--
Ben Hutchings
Software Developer, Codethink Ltd.

--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html