]> git.baikalelectronics.ru Git - kernel.git/commit
packet: round up linear to header len
authorWillem de Bruijn <willemb@google.com>
Tue, 7 Feb 2017 20:57:21 +0000 (15:57 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Feb 2017 18:56:37 +0000 (13:56 -0500)
commit3471574c8d2c86c7e39b6cd41fa0673e3e6a4394
treeffe0e21da8d4ae2b435561434cc391970196e42b
parent619ac4f7f521eda28139a1e93e41b5c08b2c5b17
packet: round up linear to header len

Link layer protocols may unconditionally pull headers, as Ethernet
does in eth_type_trans. Ensure that the entire link layer header
always lies in the skb linear segment. tpacket_snd has such a check.
Extend this to packet_snd.

Variable length link layer headers complicate the computation
somewhat. Here skb->len may be smaller than dev->hard_header_len.

Round up the linear length to be at least as long as the smallest of
the two.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/packet/af_packet.c