Re: [PATCH v6 08/10] IPC: message queue receive cleanup

From: Ben Hutchings
Date: Mon Oct 15 2012 - 16:03:21 EST


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@xxxxxxxxxxxxx>
> ---
> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/