tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function
authorGavrilov Ilia <Ilia.Gavrilov@infotecs.ru>
Thu, 7 Mar 2024 14:23:49 +0000 (14:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 Mar 2024 09:53:21 +0000 (09:53 +0000)
commit716edc9706deb3bb2ff56e2eeb83559cea8f22db
tree2b35dc61029fd5f9bd4dbe185b8bb51bde8ca3f3
parentc2b25092864a16c7865e406badedece5cc25fc2b
tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function

The 'len' variable can't be negative when assigned the result of
'min_t' because all 'min_t' parameters are cast to unsigned int,
and then the minimum one is chosen.

To fix the logic, check 'len' as read from 'optlen',
where the types of relevant variables are (signed) int.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Gavrilov Ilia <Ilia.Gavrilov@infotecs.ru>
Reviewed-by: Jason Xing <kerneljasonxing@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c