This is incorrect: next_present_section_nr() returns "int" and -1 no next section, this change would lead to infinite loop. On Sat, Oct 13, 2018 at 12:16 PM Peng Hao <penghao122@xxxxxxxxxxx> wrote: > > > From: Peng Hao <peng.hao2@xxxxxxxxxx> > > In all use locations for for_each_present_section_nr, variable > section_nr is unsigned. It is unnecessary to test if it is negative. > > Signed-off-by: Peng Hao <peng.hao2@xxxxxxxxxx> > --- > mm/sparse.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/mm/sparse.c b/mm/sparse.c > index 10b07ee..a6f9f22 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c > @@ -196,8 +196,7 @@ static inline int next_present_section_nr(int section_nr) > } > #define for_each_present_section_nr(start, section_nr) \ > for (section_nr = next_present_section_nr(start-1); \ > - ((section_nr >= 0) && \ > - (section_nr <= __highest_present_section_nr)); \ > + section_nr <= __highest_present_section_nr; \ > section_nr = next_present_section_nr(section_nr)) > > static inline unsigned long first_present_section_nr(void) > -- > 1.8.3.1 > >