Thread (27 messages) 27 messages, 3 authors, 2018-07-19

Re: [PATCH v2 06/17] y2038: Change sys_utimensat() to use __kernel_timespec

From: Christoph Hellwig <hch@infradead.org>
Date: 2018-07-17 13:25:19
Also in: linux-arch, netdev

On Mon, Jul 16, 2018 at 06:10:52PM +0200, Arnd Bergmann wrote:
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.
I wonder about the direction here:  wouldn't it be easier to just
leave th existing syscall names as-is and introduce a new utimesat64
which uses the new timespec?  We can then drop the old legacy utimesat
for new architectures added after the cutover.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help