diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 9b24861464bc65a8bfab3955c6d39e174a44147b..1d06c560c5e653e0df063cb576e836ead3409001 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -2455,6 +2455,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) {