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

Commit 5e7d7fa5 authored by Aubrey.Li's avatar Aubrey.Li Committed by David S. Miller
Browse files

[NET]: Fix UDP checksum issue in net poll mode.



In net poll mode, the current checksum function doesn't consider the
kind of packet which is padded to reach a specific minimum length. I
believe that's the problem causing my test case failed. The following
patch fixed this issue.

Signed-off-by: default avatarAubrey.Li <aubreylee@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 55569ce2
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -471,6 +471,13 @@ int __netpoll_rx(struct sk_buff *skb)
	if (skb->len < len || len < iph->ihl*4)
		goto out;

	/*
	 * Our transport medium may have padded the buffer out.
	 * Now We trim to the true length of the frame.
	 */
	if (pskb_trim_rcsum(skb, len))
		goto out;

	if (iph->protocol != IPPROTO_UDP)
		goto out;