Thread (1 message) 1 message, 1 author, 2016-01-08

Re: [PATCH] mm/mmap.c: remove redundant check "if (length < info->length)"

From: Naoya Horiguchi <hidden>
Date: 2016-01-08 08:15:25

On Thu, Jan 07, 2016 at 04:59:23PM +0800, Wang Xiaoqiang wrote:
Hi, all,

since the code:

length = info->length + info->align_mask

and all variables above are "unsigned long" type,
so there must be "length >= info->length".
I think that if info->align_mask is "very large" as an unsigned long value
and the sum of these 2 overflows, length can become smaller than info->length,
so we seem to need the check.

But why returning -ENOMEM?  Isn't it worth VM_BUG_ON()?

Thanks,
Naoya Horiguchi
quoted hunk
Signed-off-by: Wang Xiaoqiang <redacted>
---
 mm/mmap.c | 2 --
 1 file changed, 2 deletions(-)
diff --git a/mm/mmap.c b/mm/mmap.c
index 2ce04a6..99fc461 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1716,8 +1716,6 @@ unsigned long unmapped_area(struct vm_unmapped_area_info *info)
 
 	/* Adjust search length to account for worst case alignment overhead */
 	length = info->length + info->align_mask;
-	if (length < info->length)
-		return -ENOMEM;
 
 	/* Adjust search limits by the desired length */
 	if (info->high_limit < length)
-- 
2.1.4

thanks,
Wang Xiaoqiang
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help