linux-x25.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 6/6] net/x25: fix incorrect parameter validation in the x25_getsockopt() function
       [not found] <20240307142030.2708698-1-Ilia.Gavrilov@infotecs.ru>
@ 2024-03-07 14:23 ` Gavrilov Ilia
  0 siblings, 0 replies; only message in thread
From: Gavrilov Ilia @ 2024-03-07 14:23 UTC (permalink / raw)
  To: Martin Schiller
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, linux-x25, netdev, linux-kernel, lvc-project

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>
---
 net/x25/af_x25.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
index f7a7c7798c3b..d18d51412cc0 100644
--- a/net/x25/af_x25.c
+++ b/net/x25/af_x25.c
@@ -460,12 +460,12 @@ static int x25_getsockopt(struct socket *sock, int level, int optname,
 	if (get_user(len, optlen))
 		goto out;
 
-	len = min_t(unsigned int, len, sizeof(int));
-
 	rc = -EINVAL;
 	if (len < 0)
 		goto out;
 
+	len = min_t(unsigned int, len, sizeof(int));
+
 	rc = -EFAULT;
 	if (put_user(len, optlen))
 		goto out;
-- 
2.39.2

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-03-07 14:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20240307142030.2708698-1-Ilia.Gavrilov@infotecs.ru>
2024-03-07 14:23 ` [PATCH net-next v2 6/6] net/x25: fix incorrect parameter validation in the x25_getsockopt() function Gavrilov Ilia

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).