diff options
author | Eric Dumazet <edumazet@google.com> | 2016-10-29 21:02:36 +0300 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2016-11-29 00:22:34 +0300 |
commit | 781c68c686b47bc9f51b54949e364034caec949e (patch) | |
tree | d37646a30bca892cd1ebac196b548a410a006893 /include/net | |
parent | 11c4d5f9c7f85b14665b7f3ebfeb3cb319f5cb1e (diff) | |
download | linux-781c68c686b47bc9f51b54949e364034caec949e.tar.xz |
net: mangle zero checksum in skb_checksum_help()
[ Upstream commit 4f2e4ad56a65f3b7d64c258e373cb71e8d2499f4 ]
Sending zero checksum is ok for TCP, but not for UDP.
UDPv6 receiver should by default drop a frame with a 0 checksum,
and UDPv4 would not verify the checksum and might accept a corrupted
packet.
Simply replace such checksum by 0xffff, regardless of transport.
This error was caught on SIT tunnels, but seems generic.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Acked-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'include/net')
0 files changed, 0 insertions, 0 deletions