diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 3c52d0d24704..0adce9bf7a1e 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -2539,6 +2539,9 @@ static int tun_xdp_one(struct tun_struct *tun, bool skb_xdp = false; struct page *page; + if (unlikely(datasize < ETH_HLEN)) + return -EINVAL; + xdp_prog = rcu_dereference(tun->xdp_prog); if (xdp_prog) { if (gso->gso_type) {