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
> 

Reply via email to