Re: [PATCH net-next v4 4/5] net: hdlc_fr: Do skb_reset_mac_header for skbs received on normal PVC devices

From: Xie He
Date: Fri Oct 30 2020 - 18:52:23 EST


On Fri, Oct 30, 2020 at 3:22 PM Willem de Bruijn
<willemdebruijn.kernel@xxxxxxxxx> wrote:
>
> It's indirect:
>
> skb_reset_network_header(skb);
> if (!skb_transport_header_was_set(skb))
> skb_reset_transport_header(skb);
> skb_reset_mac_len(skb);

Oh. I see. skb_reset_mac_len would set skb->mac_len. Not sure where
skb->mac_len would be used though.

> > I thought only AF_PACKET/RAW sockets would need this information
> > because other upper layers would not care about what happened in L2.
>
> I think that's a reasonable assumption. I don't have a good
> counterexample ready. Specific to this case, it seems to have been
> working with no one complaining so far ;)

Yeah. It seems to me that a lot of drivers (without header_ops) have
this problem. The comment in af_packet.c before my commit b79a80bd6dd8
also indicated this problem was widespread. It seemed to not cause any
issues.