x86, x32: Use __kernel_long_t/__kernel_ulong_t in x86-64 stat.h
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 17 Dec 2013 00:09:51 +0000 (16:09 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Sat, 21 Dec 2013 00:04:35 +0000 (16:04 -0800)
Both x32 and x86-64 use the same stat system call interface.  But x32
long is 32-bit.  This patch changes x86 uapi <asm/stat.h> to use
 __kernel_long_t/__kernel_ulong_t in x86-64 stat.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Link: http://lkml.kernel.org/r/CAMe9rOquPtWEro0GQ=Z95pZJ=c7GGkSHynjN4FbiB4p445x-Ng@mail.gmail.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/include/uapi/asm/stat.h

index 7b3ddc3..bc03eb5 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _ASM_X86_STAT_H
 #define _ASM_X86_STAT_H
 
+#include <asm/posix_types.h>
+
 #define STAT_HAVE_NSEC 1
 
 #ifdef __i386__
@@ -78,26 +80,26 @@ struct stat64 {
 #else /* __i386__ */
 
 struct stat {
-       unsigned long   st_dev;
-       unsigned long   st_ino;
-       unsigned long   st_nlink;
-
-       unsigned int    st_mode;
-       unsigned int    st_uid;
-       unsigned int    st_gid;
-       unsigned int    __pad0;
-       unsigned long   st_rdev;
-       long            st_size;
-       long            st_blksize;
-       long            st_blocks;      /* Number 512-byte blocks allocated. */
-
-       unsigned long   st_atime;
-       unsigned long   st_atime_nsec;
-       unsigned long   st_mtime;
-       unsigned long   st_mtime_nsec;
-       unsigned long   st_ctime;
-       unsigned long   st_ctime_nsec;
-       long            __unused[3];
+       __kernel_ulong_t        st_dev;
+       __kernel_ulong_t        st_ino;
+       __kernel_ulong_t        st_nlink;
+
+       unsigned int            st_mode;
+       unsigned int            st_uid;
+       unsigned int            st_gid;
+       unsigned int            __pad0;
+       __kernel_ulong_t        st_rdev;
+       __kernel_long_t         st_size;
+       __kernel_long_t         st_blksize;
+       __kernel_long_t         st_blocks;      /* Number 512-byte blocks allocated. */
+
+       __kernel_ulong_t        st_atime;
+       __kernel_ulong_t        st_atime_nsec;
+       __kernel_ulong_t        st_mtime;
+       __kernel_ulong_t        st_mtime_nsec;
+       __kernel_ulong_t        st_ctime;
+       __kernel_ulong_t        st_ctime_nsec;
+       __kernel_long_t         __unused[3];
 };
 
 /* We don't need to memset the whole thing just to initialize the padding */