net: mctp: usb: initialise mac header in RX path
authorJeremy Kerr <jk@codeconstruct.com.au>
Fri, 29 Aug 2025 07:40:23 +0000 (15:40 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 2 Sep 2025 12:48:19 +0000 (14:48 +0200)
We're not currently setting skb->mac_header on ingress, and the netdev
core rx path expects it. Without it, we'll hit a warning on DEBUG_NETDEV
from commit 1e4033b53db4 ("net: skb_reset_mac_len() must check if
mac_header was set")

Initialise the mac_header to refer to the USB transport header.

Fixes: 0791c0327a6e ("net: mctp: Add MCTP USB transport driver")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Link: https://patch.msgid.link/20250829-mctp-usb-mac-header-v1-1-338ad725e183@codeconstruct.com.au
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/mctp/mctp-usb.c

index 775a386d0aca1242e5d3c8a750c1d0825341caa6..36ccc53b17975912c7d310fe8d58eb91fe482732 100644 (file)
@@ -183,6 +183,7 @@ static void mctp_usb_in_complete(struct urb *urb)
                struct mctp_usb_hdr *hdr;
                u8 pkt_len; /* length of MCTP packet, no USB header */
 
+               skb_reset_mac_header(skb);
                hdr = skb_pull_data(skb, sizeof(*hdr));
                if (!hdr)
                        break;