OSDN Git Service

arch: sparc: Override struct __kernel_old_timeval
authorDeepa Dinamani <deepa.kernel@gmail.com>
Sat, 2 Feb 2019 15:34:47 +0000 (07:34 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 3 Feb 2019 19:17:30 +0000 (11:17 -0800)
struct __kernel_old_timeval is supposed to have the same
layout as struct timeval. But, it was inadvarently missed
that __kernel_suseconds has a different definition for
sparc64.
Provide an asm-specific override that fixes it.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Cc: sparclinux@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/uapi/asm/posix_types.h
include/uapi/linux/time.h

index fec499d..f139e00 100644 (file)
@@ -19,6 +19,16 @@ typedef unsigned short         __kernel_old_gid_t;
 typedef int                   __kernel_suseconds_t;
 #define __kernel_suseconds_t __kernel_suseconds_t
 
+typedef long           __kernel_long_t;
+typedef unsigned long  __kernel_ulong_t;
+#define __kernel_long_t __kernel_long_t
+
+struct __kernel_old_timeval {
+       __kernel_long_t tv_sec;
+       __kernel_suseconds_t tv_usec;
+};
+#define __kernel_old_timeval __kernel_old_timeval
+
 #else
 /* sparc 32 bit */
 
index 6b56a22..04d5587 100644 (file)
@@ -63,10 +63,12 @@ struct __kernel_itimerspec {
  * here, this is probably because it is not y2038 safe and needs to
  * be changed to use another interface.
  */
+#ifndef __kernel_old_timeval
 struct __kernel_old_timeval {
        __kernel_long_t tv_sec;
        __kernel_long_t tv_usec;
 };
+#endif
 
 /*
  * The IDs of the various system clocks (for POSIX.1b interval timers):