diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index 6bb0649c028c444de8a0889ba4c11f87193e8427..afb41c2e528104f4cf244a06c28d274aa263d246 100644 --- a/net/xdp/xsk.c +++ b/net/xdp/xsk.c @@ -542,6 +542,8 @@ static int xsk_setsockopt(struct socket *sock, int level, int optname, struct xsk_queue **q; int entries; + if (optlen < sizeof(entries)) + return -EINVAL; if (copy_from_user(&entries, optval, sizeof(entries))) return -EFAULT;