]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - fs/utimes.c
fs/hfs/extent.c: fix array out of bounds read of array extent
[mirror_ubuntu-hirsute-kernel.git] / fs / utimes.c
index 2f6f08061a2692fcb7ea6021b6a276ba02f85ef2..bdcf2daf39c11ca7b7e03a73d131dffa5222cf5c 100644 (file)
@@ -218,13 +218,14 @@ SYSCALL_DEFINE2(utime, char __user *, filename, struct utimbuf __user *, times)
 }
 #endif
 
-#ifdef CONFIG_COMPAT
+#ifdef CONFIG_COMPAT_32BIT_TIME
 /*
  * Not all architectures have sys_utime, so implement this in terms
  * of sys_utimes.
  */
+#ifdef __ARCH_WANT_SYS_UTIME32
 COMPAT_SYSCALL_DEFINE2(utime, const char __user *, filename,
-                      struct compat_utimbuf __user *, t)
+                      struct old_utimbuf32 __user *, t)
 {
        struct timespec64 tv[2];
 
@@ -237,6 +238,7 @@ COMPAT_SYSCALL_DEFINE2(utime, const char __user *, filename,
        }
        return do_utimes(AT_FDCWD, filename, t ? tv : NULL, 0);
 }
+#endif
 
 COMPAT_SYSCALL_DEFINE4(utimensat, unsigned int, dfd, const char __user *, filename, struct old_timespec32 __user *, t, int, flags)
 {
@@ -253,6 +255,7 @@ COMPAT_SYSCALL_DEFINE4(utimensat, unsigned int, dfd, const char __user *, filena
        return do_utimes(dfd, filename, t ? tv : NULL, flags);
 }
 
+#ifdef __ARCH_WANT_SYS_UTIME32
 static long do_compat_futimesat(unsigned int dfd, const char __user *filename,
                                struct old_timeval32 __user *t)
 {
@@ -285,3 +288,4 @@ COMPAT_SYSCALL_DEFINE2(utimes, const char __user *, filename, struct old_timeval
        return do_compat_futimesat(AT_FDCWD, filename, t);
 }
 #endif
+#endif