y2038: Change sys_utimensat() to use __kernel_timespec
authorArnd Bergmann <arnd@arndb.de>
Tue, 17 Apr 2018 07:11:58 +0000 (09:11 +0200)
committerArnd Bergmann <arnd@arndb.de>
Wed, 29 Aug 2018 13:42:22 +0000 (15:42 +0200)
commita4f7a3004630f1a0fb130ab1824942a49ce33140
treea0012351b8ea2637c78e0e0e2fc0a914a6a9bac0
parentc5ba7e6c9ba545c3f67188de510d4cab2e3223b2
y2038: Change sys_utimensat() to use __kernel_timespec

When 32-bit architectures get changed to support 64-bit time_t,
utimensat() needs to use the new __kernel_timespec structure as its
argument.

The older utime(), utimes() and futimesat() system calls don't need a
corresponding change as they are no longer used on C libraries that have
64-bit time support.

As we do for the other syscalls that have timespec arguments, we reuse
the 'compat' syscall entry points to implement the traditional four
interfaces, and only leave the new utimensat() as a native handler,
so that the same code gets used on both 32-bit and 64-bit kernels
on each syscall.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
fs/utimes.c
include/linux/syscalls.h