Re: [PATCH] mm/sparse: remove a check that compare if unsignedvariable is negative

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>This is incorrect: next_present_section_nr() returns "int" and -1 no
>next section, this change would lead to infinite loop.
int x = -1;
unsigned long y = x;
y  is never less than 0 . But y is a large  positive number.
>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
>>
>>

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux