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

Commit 7fefe6a8 authored by Vincent CUISSARD's avatar Vincent CUISSARD Committed by David S. Miller
Browse files

cdc-eem: bad crc checking



When the driver received an EEM packet with CRC option enabled, driver must
compute and check the CRC of the Ethernet data. Previous version computes CRC
on Ethernet data plus the original CRC value. Skbuff is correctly trimed but
the old length is used when CRC is computed.

Signed-off-by: default avatarVincent CUISSARD <vincent.cuissard@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 869f1c54
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -311,7 +311,7 @@ static int eem_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
			 *	bmCRC = 0	: CRC = 0xDEADBEEF
			 */
			if (header & BIT(14))
				crc2 = ~crc32_le(~0, skb2->data, len);
				crc2 = ~crc32_le(~0, skb2->data, skb2->len);
			else
				crc2 = 0xdeadbeef;