diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 6f682f669..172ef97eb 100755 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -2869,11 +2869,11 @@ int udp_lib_getsockopt(struct sock *sk, int level, int optname, if (get_user(len, optlen)) return -EFAULT; - len = min_t(unsigned int, len, sizeof(int)); - if (len < 0) return -EINVAL; + len = min_t(unsigned int, len, sizeof(int)); + switch (optname) { case UDP_CORK: val = READ_ONCE(up->corkflag);