2010-12-09 16:26:43

by Martin Lucina

[permalink] [raw]
Subject: [PATCH] Document the kernel_recvmsg() function

Hi,

so, today we spent all day figuring out how the kernel_sendmsg() function
*actually* works. This patch adds some documentation to help the next poor
sod.

-mato

>From b29ccddeec4b782d710ffe34e0e5e4a0f5e9c24b Mon Sep 17 00:00:00 2001
From: Martin Lucina <[email protected]>
Date: Thu, 9 Dec 2010 17:11:18 +0100
Subject: [PATCH] Document the kernel_recvmsg() function

Signed-off-by: Martin Lucina <[email protected]>
---
net/socket.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/net/socket.c b/net/socket.c
index 3ca2fd9..b17333d 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -732,6 +732,21 @@ static int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg,
return ret;
}

+/**
+ * kernel_recvmsg() - Receive a message from a socket (kernel space)
+ * @sock: The socket to receive the message from
+ * @msg: Received message
+ * @vec: Input s/g array for message data
+ * @num: Size of input s/g array
+ * @size: Number of bytes to read
+ * @flags: Message flags (MSG_DONTWAIT, etc...)
+ *
+ * On return the msg structure contains the scatter/gather array passed in the
+ * vec argument. The array is modified so that it consists of the unfilled
+ * portion of the original array.
+ *
+ * The returned value is the total number of bytes received, or an error.
+ */
int kernel_recvmsg(struct socket *sock, struct msghdr *msg,
struct kvec *vec, size_t num, size_t size, int flags)
{
--
1.7.1


2010-12-09 17:12:21

by Eric Dumazet

[permalink] [raw]
Subject: Re: [PATCH] Document the kernel_recvmsg() function

Le jeudi 09 décembre 2010 à 17:17 +0100, Martin Lucina a écrit :
> Hi,
>
> so, today we spent all day figuring out how the kernel_sendmsg() function
> *actually* works. This patch adds some documentation to help the next poor
> sod.
>

Network patches should be sent to [email protected] and David
Miller, as mentioned in MAINTAINERS file :

NETWORKING [GENERAL]
M: "David S. Miller" <[email protected]>
L: [email protected]
W: http://www.linuxfoundation.org/en/Net
W: http://patchwork.ozlabs.org/project/netdev/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git
S: Maintained
F: net/
F: include/net/
F: include/linux/in.h
F: include/linux/net.h
F: include/linux/netdevice.h



> -mato
>
> From b29ccddeec4b782d710ffe34e0e5e4a0f5e9c24b Mon Sep 17 00:00:00 2001
> From: Martin Lucina <[email protected]>
> Date: Thu, 9 Dec 2010 17:11:18 +0100
> Subject: [PATCH] Document the kernel_recvmsg() function
>
> Signed-off-by: Martin Lucina <[email protected]>
> ---
> net/socket.c | 15 +++++++++++++++
> 1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/net/socket.c b/net/socket.c
> index 3ca2fd9..b17333d 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -732,6 +732,21 @@ static int sock_recvmsg_nosec(struct socket *sock, struct msghdr *msg,
> return ret;
> }
>
> +/**
> + * kernel_recvmsg() - Receive a message from a socket (kernel space)

no need for ()

> + * @sock: The socket to receive the message from
> + * @msg: Received message
> + * @vec: Input s/g array for message data
> + * @num: Size of input s/g array
> + * @size: Number of bytes to read
> + * @flags: Message flags (MSG_DONTWAIT, etc...)
> + *
> + * On return the msg structure contains the scatter/gather array passed in the
> + * vec argument. The array is modified so that it consists of the unfilled
> + * portion of the original array.
> + *
> + * The returned value is the total number of bytes received, or an error.
> + */
> int kernel_recvmsg(struct socket *sock, struct msghdr *msg,
> struct kvec *vec, size_t num, size_t size, int flags)
> {