diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-09-14 20:37:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-09-14 20:37:26 -0400 |
commit | cc73fee0bae2d66594d1fa2df92bbd783aa98e04 (patch) | |
tree | d1e7fe7f76cae4cbc941fc3bb43a46d237a9df77 /include/linux/msg.h | |
parent | e7cdb60fd28b252f1c15a0e50f79a01906124915 (diff) | |
parent | aaed2dd8a31359e5767ee099ecbb078d55be4d29 (diff) |
Merge branch 'work.ipc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull ipc compat cleanup and 64-bit time_t from Al Viro:
"IPC copyin/copyout sanitizing, including 64bit time_t work from Deepa
Dinamani"
* 'work.ipc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
utimes: Make utimes y2038 safe
ipc: shm: Make shmid_kernel timestamps y2038 safe
ipc: sem: Make sem_array timestamps y2038 safe
ipc: msg: Make msg_queue timestamps y2038 safe
ipc: mqueue: Replace timespec with timespec64
ipc: Make sys_semtimedop() y2038 safe
get rid of SYSVIPC_COMPAT on ia64
semtimedop(): move compat to native
shmat(2): move compat to native
msgrcv(2), msgsnd(2): move compat to native
ipc(2): move compat to native
ipc: make use of compat ipc_perm helpers
semctl(): move compat to native
semctl(): separate all layout-dependent copyin/copyout
msgctl(): move compat to native
msgctl(): split the actual work from copyin/copyout
ipc: move compat shmctl to native
shmctl: split the work from copyin/copyout
Diffstat (limited to 'include/linux/msg.h')
-rw-r--r-- | include/linux/msg.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/include/linux/msg.h b/include/linux/msg.h index a001305f5a79..81263fe3f9dc 100644 --- a/include/linux/msg.h +++ b/include/linux/msg.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define _LINUX_MSG_H | 2 | #define _LINUX_MSG_H |
3 | 3 | ||
4 | #include <linux/list.h> | 4 | #include <linux/list.h> |
5 | #include <linux/time64.h> | ||
5 | #include <uapi/linux/msg.h> | 6 | #include <uapi/linux/msg.h> |
6 | 7 | ||
7 | /* one msg_msg structure for each message */ | 8 | /* one msg_msg structure for each message */ |
@@ -17,9 +18,9 @@ struct msg_msg { | |||
17 | /* one msq_queue structure for each present queue on the system */ | 18 | /* one msq_queue structure for each present queue on the system */ |
18 | struct msg_queue { | 19 | struct msg_queue { |
19 | struct kern_ipc_perm q_perm; | 20 | struct kern_ipc_perm q_perm; |
20 | time_t q_stime; /* last msgsnd time */ | 21 | time64_t q_stime; /* last msgsnd time */ |
21 | time_t q_rtime; /* last msgrcv time */ | 22 | time64_t q_rtime; /* last msgrcv time */ |
22 | time_t q_ctime; /* last change time */ | 23 | time64_t q_ctime; /* last change time */ |
23 | unsigned long q_cbytes; /* current number of bytes on queue */ | 24 | unsigned long q_cbytes; /* current number of bytes on queue */ |
24 | unsigned long q_qnum; /* number of messages in queue */ | 25 | unsigned long q_qnum; /* number of messages in queue */ |
25 | unsigned long q_qbytes; /* max number of bytes on queue */ | 26 | unsigned long q_qbytes; /* max number of bytes on queue */ |
@@ -31,12 +32,4 @@ struct msg_queue { | |||
31 | struct list_head q_senders; | 32 | struct list_head q_senders; |
32 | } __randomize_layout; | 33 | } __randomize_layout; |
33 | 34 | ||
34 | /* Helper routines for sys_msgsnd and sys_msgrcv */ | ||
35 | extern long do_msgsnd(int msqid, long mtype, void __user *mtext, | ||
36 | size_t msgsz, int msgflg); | ||
37 | extern long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp, | ||
38 | int msgflg, | ||
39 | long (*msg_fill)(void __user *, struct msg_msg *, | ||
40 | size_t)); | ||
41 | |||
42 | #endif /* _LINUX_MSG_H */ | 35 | #endif /* _LINUX_MSG_H */ |