From: Herbert Xu Date: Thu, 20 Sep 2007 19:41:36 +0000 (-0700) Subject: [PATCH] Fix datagram recvmsg NULL iov handling regression. X-Git-Tag: v2.6.20.21~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a58339acdc58993f3e5cdc8124445ae92e31be76;p=thirdparty%2Fkernel%2Fstable.git [PATCH] Fix datagram recvmsg NULL iov handling regression. commit ef8aef55ce61fd0e2af798695f7386ac756ae1e7 in mainline Subject: [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 Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/core/datagram.c b/net/core/datagram.c index 797fdd4352ce5..5d55a2ed7111b 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c @@ -444,6 +444,9 @@ int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb, __wsum csum; int chunk = skb->len - hlen; + if (!chunk) + return 0; + /* Skip filled elements. * Pretty silly, look at memcpy_toiovec, though 8) */