diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 435756877abaa1ab4c0edcc2346bcb2de3625605..cfdc9abbd97c2618ca2b7a24b37f946a86c14855 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -2662,6 +2662,9 @@ static int tpacket_fill_skb(struct packet_sock *po, struct sk_buff *skb, packet_parse_headers(skb, sock); + if (unlikely(!skb->len)) + return -EINVAL; + return tp_len; }