On Wed, Nov 8, 2017 at 1:22 AM, Ben Hutchings ben.hutchings@codethink.co.uk wrote:
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).
It should be ktime_get_real_ts64(), thanks for noticing my mistake.
ktime_get_real_ts64() is the same as getnstimeofday64(), but I'm trying to use the ktime_get* naming where possible.
Arnd