Re: [PATCH net 1/2] net/af_packet: fix tx skb protocol on SOCK_PACKET sockets

From: Willem de Bruijn
Date: Thu Jan 12 2023 - 10:59:01 EST


On Tue, Jan 10, 2023 at 2:38 PM Hervé Boisse <admin@xxxxxxxxxxx> wrote:
>
> Commit 75c65772c3d1 ("net/packet: Ask driver for protocol if not provided
> by user") introduces packet_parse_headers() to extract protocol for
> SOCK_RAW sockets.
> But, SOCK_PACKET sockets which provide similar behaviour are not considered
> so far and packets sent by those sockets will have their protocol unset.
>
> Extract the skb protocol value from the packet for SOCK_PACKET sockets, as
> currently done for SOCK_RAW sockets.
>
> Fixes: 75c65772c3d1 ("net/packet: Ask driver for protocol if not provided by user")
> Signed-off-by: Hervé Boisse <admin@xxxxxxxxxxx>

Reviewed-by: Willem de Bruijn <willlemb@xxxxxxxxxx>

packet_sendmsg_spkt (SOCK_PACKET) also prepares raw packets and
validates their link layer header length with dev_validate_header
before calling packet_parse_headers. It should be fine to call
dev_parse_protocol.

Technically this adds a feature to packets of type SOCK_PACKET. I would
not qualify it as a bug fix. And not sure we care about adding new features to
SOCK_PACKET. New applications should use SOCK_RAW.