Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f71b70e1 authored by David S. Miller's avatar David S. Miller
Browse files

tcp: Fix ipv6 checksumming on response packets for real.



Commit 6651ffc8
("ipv6: Fix tcp_v6_send_response transport header setting.")
fixed one half of why ipv6 tcp response checksums were
invalid, but it's not the whole story.

If we're going to use CHECKSUM_PARTIAL for these things (which we are
since commit 2e8e18ef "tcp: Set
CHECKSUM_UNNECESSARY in tcp_init_nondata_skb"), we can't be setting
buff->csum as we always have been here in tcp_v6_send_response.  We
need to leave it at zero.

Kill that line and checksums are good again.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 87eb3670
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -1050,8 +1050,6 @@ static void tcp_v6_send_response(struct sk_buff *skb, u32 seq, u32 ack, u32 win,
	}
#endif

	buff->csum = csum_partial(t1, tot_len, 0);

	memset(&fl, 0, sizeof(fl));
	ipv6_addr_copy(&fl.fl6_dst, &ipv6_hdr(skb)->saddr);
	ipv6_addr_copy(&fl.fl6_src, &ipv6_hdr(skb)->daddr);