diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index 691841dc6d334476cdf61c6cfcad717f3c44284d..a6c8743d9e1fff41fbf43eb6c8c9199508cdd4d6 100644 --- a/net/xdp/xsk.c +++ b/net/xdp/xsk.c @@ -890,6 +890,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_sockptr(&entries, optval, sizeof(entries))) return -EFAULT;