Re: PROBLEM: network data corruption (bisected to e5a4b0bb803b)
From: Alan Curry <hidden>
Date: 2016-07-27 10:32:39
Also in:
linux-wireless, lkml
From: Alan Curry <hidden>
Date: 2016-07-27 10:32:39
Also in:
linux-wireless, lkml
Al Viro wrote:
Another thing (and if that works, it's *NOT* a proper fix - it would be papering over the problem, but at least it would show where to look for it) - try (on top of mainline) the following delta:
I tried it on top of v4.6.4 and on top of the very recent v4.7-2509-g59ebc44 from Linus, and still got corruption.
diff --git a/net/core/datagram.c b/net/core/datagram.c index b7de71f..0ee5995 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c@@ -734,7 +734,7 @@ int skb_copy_and_csum_datagram_msg(struct sk_buff *skb, if (!chunk) return 0; - if (msg_data_left(msg) < chunk) { + if (iov_iter_single_seg_count(&msg->msg_iter) < chunk) { if (__skb_checksum_complete(skb)) goto csum_error; if (skb_copy_datagram_msg(skb, hlen, msg, chunk))
-- Alan Curry