[47/50] Fix datagram recvmsg NULL iov handling regression.

From: Greg KH
Date: Mon Sep 24 2007 - 12:43:22 EST

From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

commit ef8aef55ce61fd0e2af798695f7386ac756ae1e7 in mainline

Subject: [47/50] [PATCH] [NET]: Do not dereference iov if length is zero

When msg_iovlen is zero we shouldn't try to dereference
msg_iov. Right now the only thing that tries to do so
is skb_copy_and_csum_datagram_iovec. Since the total
length should also be zero if msg_iovlen is zero, it's
sufficient to check the total length there and simply
return if it's zero.

Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

net/core/datagram.c | 3 +++
1 file changed, 3 insertions(+)

--- a/net/core/datagram.c
+++ b/net/core/datagram.c
@@ -450,6 +450,9 @@ int skb_copy_and_csum_datagram_iovec(str
__wsum csum;
int chunk = skb->len - hlen;

+ if (!chunk)
+ return 0;
/* Skip filled elements.
* Pretty silly, look at memcpy_toiovec, though 8)

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/