On Sat 09-09-17 00:15:33, [email protected] wrote:
> From: Gioh Kim <[email protected]>
> 
> In memblock_add_range(), idx variable is a local value
> but I cannot find initialization of idx value.
> I checked idx value on my Qemu emulator. It was zero.
> Is there any hidden initialization code?

Yes for_each_memblock_type. Ugly as hell! Something to clean up I guess.
Just make the index explicit argument of the macro.

> 
> Signed-off-by: Gioh Kim <[email protected]>
> ---
>  mm/memblock.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 7b8a5db..23374bc 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -515,7 +515,7 @@ int __init_memblock memblock_add_range(struct 
> memblock_type *type,
>       bool insert = false;
>       phys_addr_t obase = base;
>       phys_addr_t end = base + memblock_cap_size(base, &size);
> -     int idx, nr_new;
> +     int idx = 0, nr_new;
>       struct memblock_region *rgn;
>  
>       if (!size)
> -- 
> 2.7.4

-- 
Michal Hocko
SUSE Labs

Reply via email to