All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] RDS: fix an integer overflow check
@ 2012-10-12  7:31 ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2012-10-12  7:31 UTC (permalink / raw)
  To: Venkat Venkatsubra; +Cc: David S. Miller, rds-devel, netdev, kernel-janitors

"len" is an int.  We verified that len was postive already.  Since
PAGE_SIZE is specified as an unsigned long, the type it promoted to
unsigned and the condition is never true.

I'm not sure this check is actually needed.  It might be that we could
just remove it?

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/net/rds/info.c b/net/rds/info.c
index 9a6b4f6..4d62618 100644
--- a/net/rds/info.c
+++ b/net/rds/info.c
@@ -176,7 +176,7 @@ int rds_info_getsockopt(struct socket *sock, int optname, char __user *optval,
 
 	/* check for all kinds of wrapping and the like */
 	start = (unsigned long)optval;
-	if (len < 0 || len + PAGE_SIZE - 1 < len || start + len < start) {
+	if (len < 0 || len > INT_MAX - (PAGE_SIZE - 1) || start + len < start) {
 		ret = -EINVAL;
 		goto out;
 	}

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-10-13 13:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-12  7:31 [patch] RDS: fix an integer overflow check Dan Carpenter
2012-10-12  7:31 ` Dan Carpenter
2012-10-13 13:25 ` Jeff Liu
2012-10-13 13:25   ` Jeff Liu
2012-10-13 13:45   ` [rds-devel] " Jeff Liu
2012-10-13 13:45     ` Jeff Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.