projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b75ec3a
)
ipv4: no CHECKSUM_PARTIAL on MSG_MORE corked sockets
author
Hannes Frederic Sowa
<
[email protected]
>
Tue, 27 Oct 2015 21:40:39 +0000
(22:40 +0100)
committer
David S. Miller
<
[email protected]
>
Sun, 1 Nov 2015 17:01:27 +0000
(12:01 -0500)
We cannot reliable calculate packet size on MSG_MORE corked sockets
and thus cannot decide if they are going to be fragmented later on,
so better not use CHECKSUM_PARTIAL in the first place.
Cc: Eric Dumazet <
[email protected]
>
Cc: Vlad Yasevich <
[email protected]
>
Cc: Benjamin Coddington <
[email protected]
>
Cc: Tom Herbert <
[email protected]
>
Signed-off-by: Hannes Frederic Sowa <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
net/ipv4/ip_output.c
patch
|
blob
|
history
diff --git
a/net/ipv4/ip_output.c
b/net/ipv4/ip_output.c
index 50e29737b584624b6d338630622e87634961612e..0b024178edd39a6bc460892ac190095b4dfabbd9 100644
(file)
--- a/
net/ipv4/ip_output.c
+++ b/
net/ipv4/ip_output.c
@@
-911,6
+911,7
@@
static int __ip_append_data(struct sock *sk,
if (transhdrlen &&
length + fragheaderlen <= mtu &&
rt->dst.dev->features & NETIF_F_V4_CSUM &&
+ !(flags & MSG_MORE) &&
!exthdrlen)
csummode = CHECKSUM_PARTIAL;