Messages in this thread | | | Date | Tue, 12 Sep 2017 17:07:37 +0200 | From | Michal Hocko <> | Subject | Re: [RFC] mm/memblock.c: using uninitialized value idx in memblock_add_range() |
| |
On Sat 09-09-17 00:15:33, gurugio@gmail.com wrote: > From: Gioh Kim <gurugio@hanmail.net> > > 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 <gi-oh.kim@profitbricks.com> > --- > 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
| |