2017-11-08 03:32:35

by Ben Hutchings

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

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.


From 1583449839942870191@xxx Tue Nov 07 22:57:23 +0000 2017
X-GM-THRID: 1583449839942870191
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread