X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ipc%2Fmsg.c;h=c4d3b2a7a699ebe223ef200c0c98d5662b52db07;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=12c9367c8997a5e66f603c57f968074f30e088db;hpb=a8e794ca871505c8ea96cc102f4ad555c5231d7f;p=linux-2.6.git diff --git a/ipc/msg.c b/ipc/msg.c index 12c9367c8..c4d3b2a7a 100644 --- a/ipc/msg.c +++ b/ipc/msg.c @@ -24,6 +24,8 @@ #include #include #include +#include + #include #include #include "util.h" @@ -80,7 +82,7 @@ void __init msg_init (void) ipc_init_ids(&msg_ids,msg_ctlmni); #ifdef CONFIG_PROC_FS - create_proc_read_entry("sysvipc/msg", 0, 0, sysvipc_msg_read_proc, NULL); + create_proc_read_entry("sysvipc/msg", 0, NULL, sysvipc_msg_read_proc, NULL); #endif } @@ -230,7 +232,7 @@ asmlinkage long sys_msgget (key_t key, int msgflg) return ret; } -static inline unsigned long copy_msqid_to_user(void *buf, struct msqid64_ds *in, int version) +static inline unsigned long copy_msqid_to_user(void __user *buf, struct msqid64_ds *in, int version) { switch(version) { case IPC_64: @@ -281,7 +283,7 @@ struct msq_setbuf { mode_t mode; }; -static inline unsigned long copy_msqid_from_user(struct msq_setbuf *out, void *buf, int version) +static inline unsigned long copy_msqid_from_user(struct msq_setbuf *out, void __user *buf, int version) { switch(version) { case IPC_64: @@ -321,7 +323,7 @@ static inline unsigned long copy_msqid_from_user(struct msq_setbuf *out, void *b } } -asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds *buf) +asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds __user *buf) { int err, version; struct msg_queue *msq; @@ -540,7 +542,7 @@ static inline int pipelined_send(struct msg_queue* msq, struct msg_msg* msg) return 0; } -asmlinkage long sys_msgsnd (int msqid, struct msgbuf *msgp, size_t msgsz, int msgflg) +asmlinkage long sys_msgsnd (int msqid, struct msgbuf __user *msgp, size_t msgsz, int msgflg) { struct msg_queue *msq; struct msg_msg *msg; @@ -646,7 +648,7 @@ static inline int convert_mode(long* msgtyp, int msgflg) return SEARCH_EQUAL; } -asmlinkage long sys_msgrcv (int msqid, struct msgbuf *msgp, size_t msgsz, +asmlinkage long sys_msgrcv (int msqid, struct msgbuf __user *msgp, size_t msgsz, long msgtyp, int msgflg) { struct msg_queue *msq;