uapi: Use __kernel_long_t in struct msgbuf
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 27 Dec 2013 22:14:20 +0000 (14:14 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 20 Jan 2014 22:44:50 +0000 (14:44 -0800)
x32 msgsnd/msgrcv system calls are the same as x86-64 msgsnd/msgrcv system
calls, which use 64-bit integer for long in struct msgbuf . But x32 long
is 32 bit.  This patch replaces long in struct msgbuf with __kernel_long_t.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Link: http://lkml.kernel.org/r/1388182464-28428-5-git-send-email-hjl.tools@gmail.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
include/uapi/linux/msg.h

index 22d95c6..a703755 100644 (file)
@@ -34,8 +34,8 @@ struct msqid_ds {
 
 /* message buffer for msgsnd and msgrcv calls */
 struct msgbuf {
-       long mtype;         /* type of message */
-       char mtext[1];      /* message text */
+       __kernel_long_t mtype;          /* type of message */
+       char mtext[1];                  /* message text */
 };
 
 /* buffer for msgctl calls IPC_INFO, MSG_INFO */