On 08/22/19 at 08:32am, Qian Cai wrote: > MAX_MEMMAP_REGIONS is a macro that equal to 4. "i" is static local > variable that default to 0. The comparison "i >= MAX_MEMMAP_REGIONS" > will always be false.
Seems not true. mem_avoid_memmap() could be invoked many times if multiple memmap= added. It will carry the value accumulated from the past. > > Signed-off-by: Qian Cai <c...@lca.pw> > --- > arch/x86/boot/compressed/kaslr.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/arch/x86/boot/compressed/kaslr.c > b/arch/x86/boot/compressed/kaslr.c > index 2e53c056ba20..a4a5a88edb94 100644 > --- a/arch/x86/boot/compressed/kaslr.c > +++ b/arch/x86/boot/compressed/kaslr.c > @@ -176,9 +176,6 @@ static void mem_avoid_memmap(char *str) > { > static int i; > > - if (i >= MAX_MEMMAP_REGIONS) > - return; > - > while (str && (i < MAX_MEMMAP_REGIONS)) { > int rc; > unsigned long long start, size; > -- > 1.8.3.1 >