y2038: utimes: Rework #ifdef guards for compat syscalls
authorArnd Bergmann <arnd@arndb.de>
Tue, 17 Apr 2018 10:03:19 +0000 (12:03 +0200)
committerArnd Bergmann <arnd@arndb.de>
Wed, 29 Aug 2018 13:42:23 +0000 (15:42 +0200)
commit4faea239e529d1d6b3b93fbf08d5e90427961a41
tree031bd0905a3e26e458c4f34721ed334ddd7b3fd4
parent185cfaf7641e14af85635bb2750da302e32b04e3
y2038: utimes: Rework #ifdef guards for compat syscalls

After changing over to 64-bit time_t syscalls, many architectures will
want compat_sys_utimensat() but not respective handlers for utime(),
utimes() and futimesat(). This adds a new __ARCH_WANT_SYS_UTIME32 to
complement __ARCH_WANT_SYS_UTIME. For now, all 64-bit architectures that
support CONFIG_COMPAT set it, but future 64-bit architectures will not
(tile would not have needed it either, but got removed).

As older 32-bit architectures get converted to using CONFIG_64BIT_TIME,
they will have to use __ARCH_WANT_SYS_UTIME32 instead of
__ARCH_WANT_SYS_UTIME. Architectures using the generic syscall ABI don't
need either of them as they never had a utime syscall.

Since the compat_utimbuf structure is now required outside of
CONFIG_COMPAT, I'm moving it into compat_time.h.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
changed from last version:
- renamed __ARCH_WANT_COMPAT_SYS_UTIME to __ARCH_WANT_SYS_UTIME32
arch/arm64/include/asm/unistd.h
arch/mips/include/asm/unistd.h
arch/parisc/include/asm/unistd.h
arch/powerpc/include/asm/unistd.h
arch/s390/include/asm/unistd.h
arch/sparc/include/asm/unistd.h
arch/x86/include/asm/unistd.h
fs/utimes.c
include/linux/compat.h
include/linux/time32.h