>From 81b4c3c55f994d54eafcaf4adaa2a16786c41fdd Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 25 Dec 2013 07:13:02 -0800 Subject: [PATCH] Use __kernel_ulong_t in uapi struct ipc64_perm X32 IPC system call is the same as x86-64 IPC system call, which uses 64-bit integer for unsigned long in struct ipc64_perm. But x32 long is 32 bit. This patch replaces unsigned long in uapi struct ipc64_perm with __kernel_ulong_t if __BITS_PER_LONG == 64. Signed-off-by: H.J. Lu --- include/uapi/asm-generic/ipcbuf.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/uapi/asm-generic/ipcbuf.h b/include/uapi/asm-generic/ipcbuf.h index 76982b2..4635fa5 100644 --- a/include/uapi/asm-generic/ipcbuf.h +++ b/include/uapi/asm-generic/ipcbuf.h @@ -27,8 +27,13 @@ struct ipc64_perm { unsigned char __pad1[4 - sizeof(__kernel_mode_t)]; unsigned short seq; unsigned short __pad2; +#if __BITS_PER_LONG == 64 + __kernel_ulong_t __unused1; + __kernel_ulong_t __unused2; +#else unsigned long __unused1; unsigned long __unused2; +#endif }; #endif /* __ASM_GENERIC_IPCBUF_H */ -- 1.8.4.2