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 <[email protected]> > --- > 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

