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

Commit 8e365eec authored by Chris Lalancette's avatar Chris Lalancette Committed by David S. Miller
Browse files

[NETPOLL]: Compute checksum properly in netpoll_send_udp().

parent da33e3eb
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -340,6 +340,12 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
	udph->dest = htons(np->remote_port);
	udph->len = htons(udp_len);
	udph->check = 0;
	udph->check = csum_tcpudp_magic(htonl(np->local_ip),
					htonl(np->remote_ip),
					udp_len, IPPROTO_UDP,
					csum_partial((unsigned char *)udph, udp_len, 0));
	if (udph->check == 0)
		udph->check = -1;

	skb->nh.iph = iph = (struct iphdr *)skb_push(skb, sizeof(*iph));