diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index d3dd1c1a9..c690c36f5 100755 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -3718,11 +3718,11 @@ static int do_tcp_getsockopt(struct sock *sk, int level, 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 TCP_MAXSEG: val = tp->mss_cache;