diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-09-20 12:41:36 -0700 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2007-10-17 21:30:39 +0200 |
commit | a58339acdc58993f3e5cdc8124445ae92e31be76 (patch) | |
tree | e0493b3d64f73d8b96ecdf8b2a2607d9519850ad | |
parent | 2c230830b9869ca6d497baed3aad5bd7c2536b4e (diff) |
[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 <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | net/core/datagram.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/datagram.c b/net/core/datagram.c index 797fdd4352ce..5d55a2ed7111 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) */ |