diff --git a/net/core/datagram.c b/net/core/datagram.c
index cb056f476126281159f1eed9216a757dbf83dc77..029b93e246b45ea934b1da0cd018425e52965fcb 100644
--- a/net/core/datagram.c
+++ b/net/core/datagram.c
@@ -450,6 +450,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)
 	 */