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>