Messages in this thread | | | Subject | Re: [PATCH v6 08/10] IPC: message queue receive cleanup | From | Ben Hutchings <> | Date | Mon, 15 Oct 2012 21:03:23 +0100 |
| |
On Mon, 2012-10-15 at 20:00 +0400, Stanislav Kinsbursky wrote: > This patch moves all message related manipulation into one function msg_fill(). > Actually, two functions because of the compat one. > > Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> > --- > include/linux/msg.h | 5 +++-- > ipc/compat.c | 36 +++++++++++++++++++----------------- > ipc/msg.c | 44 +++++++++++++++++++++++--------------------- > 3 files changed, 45 insertions(+), 40 deletions(-) > > diff --git a/include/linux/msg.h b/include/linux/msg.h > index 7a4b9e9..f38edba 100644 > --- a/include/linux/msg.h > +++ b/include/linux/msg.h > @@ -34,7 +34,8 @@ struct msg_queue { > /* Helper routines for sys_msgsnd and sys_msgrcv */ > extern long do_msgsnd(int msqid, long mtype, void __user *mtext, > size_t msgsz, int msgflg); > -extern long do_msgrcv(int msqid, long *pmtype, void __user *mtext, > - size_t msgsz, long msgtyp, int msgflg); > +extern long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp, > + int msgflg, > + long (*msg_fill)(void __user *, struct msg_msg *, size_t )); > > #endif /* _LINUX_MSG_H */ > diff --git a/ipc/compat.c b/ipc/compat.c > index 84d8efd..b879d50 100644 > --- a/ipc/compat.c > +++ b/ipc/compat.c [...] > @@ -394,7 +395,8 @@ long compat_sys_msgrcv(int msqid, struct compat_msgbuf __user *msgp, > { > long err, mtype; > > - err = do_msgrcv(msqid, &mtype, msgp->mtext, (ssize_t)msgsz, msgtyp, msgflg); > + err = do_msgrcv(msqid, &mtype, msgp->mtext, (ssize_t)msgsz, msgtyp, > + msgflg, compat_do_msg_fill); > if (err < 0) > goto out; > [...]
That isn't even the right number of arguments now...
Ben.
-- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
| |