Re: [PATCH net] net: usb: ax88179_178a: fix rx frame length for non-last packets

From: Simon Horman

Date: Wed Oct 07 2026 - 10:43:52 EST


On Fri, Oct 02, 2026 at 02:28:57PM +0200, Fredrik Nyberg via B4 Relay wrote:
> From: Fredrik Nyberg <fredrik.nyberg@xxxxxxxxxxxxx>
>
> Commit 4ce62d5b2f7a ("net: usb: ax88179_178a: stop lying about
> skb->truesize") replaced skb_clone() with a copy into a new skb for
> every packet of a bulk-in transfer except the last one. The copy skips
> the 2-byte IP alignment pseudo header but still copies pkt_len bytes,
> and pkt_len includes that header. Each of these frames is therefore
> delivered with two extra trailing bytes: the 0xeeee pseudo header of
> the next slot when the frame ends on an 8-byte boundary, or slot
> padding otherwise. The last packet is still trimmed to pkt_len - 2.
>
> IPv4 and IPv6 trim the extra bytes, so most traffic is unaffected.
> Anything that relies on the frame length is not. MACsec takes the ICV
> from the last 16 bytes and drops every such frame as InPktsNotValid. In
> our setup that was 0.2-1.2% of received MACsec frames, depending on how
> many frames shared a transfer, including service discovery multicast.
>
> Allocate and copy pkt_len - 2 bytes, like the last-packet path.
>
> Fixes: 4ce62d5b2f7a ("net: usb: ax88179_178a: stop lying about skb->truesize")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Fredrik Nyberg <fredrik.nyberg@xxxxxxxxxxxxx>

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>