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 | 35 | /* message buffer for msgsnd and msgrcv calls */ |
| 36 | 36 | struct msgbuf { |
| 37 | − long mtype; /* type of message */ | |
| 38 | − char mtext[1]; /* message text */ | |
| 37 | + __kernel_long_t mtype; /* type of message */ | |
| 38 | + char mtext[1]; /* message text */ | |
| 39 | 39 | }; |
| 40 | 40 | |
| 41 | 41 | /* buffer for msgctl calls IPC_INFO, MSG_INFO */ |