mirror of https://gitee.com/openkylin/linux.git
mm/sparse.c: check __highest_present_section_nr only for a present section
When searching a present section, there are two boundaries: * __highest_present_section_nr * NR_MEM_SECTIONS And it is known, __highest_present_section_nr is a more strict boundary than NR_MEM_SECTIONS. This means it would be necessary to check __highest_present_section_nr only. Link: http://lkml.kernel.org/r/20180326081956.75275-2-richard.weiyang@gmail.com Signed-off-by: Wei Yang <richard.weiyang@gmail.com> Acked-by: David Rientjes <rientjes@google.com> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Dave Hansen <dave.hansen@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
688272809f
commit
d538c164fc
|
@ -190,15 +190,13 @@ static inline int next_present_section_nr(int section_nr)
|
|||
section_nr++;
|
||||
if (present_section_nr(section_nr))
|
||||
return section_nr;
|
||||
} while ((section_nr < NR_MEM_SECTIONS) &&
|
||||
(section_nr <= __highest_present_section_nr));
|
||||
} while ((section_nr <= __highest_present_section_nr));
|
||||
|
||||
return -1;
|
||||
}
|
||||
#define for_each_present_section_nr(start, section_nr) \
|
||||
for (section_nr = next_present_section_nr(start-1); \
|
||||
((section_nr >= 0) && \
|
||||
(section_nr < NR_MEM_SECTIONS) && \
|
||||
(section_nr <= __highest_present_section_nr)); \
|
||||
section_nr = next_present_section_nr(section_nr))
|
||||
|
||||
|
|
Loading…
Reference in New Issue