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.
Showing the changes to include/uapi/linux (1 of 1 file). Show all
Unified · Split
| @@ -34,8 +34,8 @@ struct msqid_ds { · 33 unmodified lines | |||
| 34 | 34 | ||
| 35 | /* message buffer for msgsnd and msgrcv calls */ | 35 | /* message buffer for msgsnd and msgrcv calls */ |
| 36 | struct msgbuf { | 36 | struct msgbuf { |
| 37 | long mtype; /* type of message */ | 37 | __kernel_long_t mtype; /* type of message */ |
| 38 | char mtext[1]; /* message text */ | 38 | char mtext[1]; /* message text */ |
| 39 | }; | 39 | }; |
| 40 | 40 | ||
| 41 | /* buffer for msgctl calls IPC_INFO, MSG_INFO */ | 41 | /* buffer for msgctl calls IPC_INFO, MSG_INFO */ |