From: Wei Yang Date: Tue, 10 Apr 2018 23:29:23 +0000 (-0700) Subject: mm: check __highest_present_section_nr directly in memory_dev_init() X-Git-Tag: v4.17-rc1~52^2~111 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bc8755ba66325cb5874eef81d935e91c331d0b1d;p=users%2Fhch%2Fblock.git mm: check __highest_present_section_nr directly in memory_dev_init() __highest_present_section_nr is a more strict boundary than NR_MEM_SECTIONS. So checking __highest_present_section_nr directly is enough. Link: http://lkml.kernel.org/r/20180330032044.21647-1-richard.weiyang@gmail.com Signed-off-by: Wei Yang Reviewed-by: Andrew Morton Cc: Dave Hansen Cc: Michal Hocko Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/base/memory.c b/drivers/base/memory.c index 79fcd2bae96b..bffe8616bd55 100644 --- a/drivers/base/memory.c +++ b/drivers/base/memory.c @@ -837,11 +837,8 @@ int __init memory_dev_init(void) * during boot and have been initialized */ mutex_lock(&mem_sysfs_mutex); - for (i = 0; i < NR_MEM_SECTIONS; i += sections_per_block) { - /* Don't iterate over sections we know are !present: */ - if (i > __highest_present_section_nr) - break; - + for (i = 0; i <= __highest_present_section_nr; + i += sections_per_block) { err = add_memory_block(i); if (!ret) ret = err;