On 03/20/19 at 09:56am, Mike Rapoport wrote:
> > diff --git a/mm/sparse.c b/mm/sparse.c
> > index 0a0f82c5d969..054b99f74181 100644
> > --- a/mm/sparse.c
> > +++ b/mm/sparse.c
> > @@ -697,16 +697,17 @@ int __meminit sparse_add_one_section(int nid, 
> > unsigned long start_pfn,
> >     ret = sparse_index_init(section_nr, nid);
> >     if (ret < 0 && ret != -EEXIST)
> >             return ret;
> > -   ret = 0;
> > -   memmap = kmalloc_section_memmap(section_nr, nid, altmap);
> > -   if (!memmap)
> > -           return -ENOMEM;
> > +
> >     usemap = __kmalloc_section_usemap();
> > -   if (!usemap) {
> > -           __kfree_section_memmap(memmap, altmap);
> > +   if (!usemap)
> > +           return -ENOMEM;
> > +   memmap = kmalloc_section_memmap(section_nr, nid, altmap);
> > +   if (!memmap) {
> > +           kfree(usemap);
> 
> If you are anyway changing this why not to switch to goto's for error
> handling?

OK, I am fine to switch to 'goto'. Will update and repost. Thanks.

> 
> >             return -ENOMEM;
> >     }
> > 
> > +   ret = 0;
> >     ms = __pfn_to_section(start_pfn);
> >     if (ms->section_mem_map & SECTION_MARKED_PRESENT) {
> >             ret = -EEXIST;
> > -- 
> > 2.17.2
> > 
> 
> -- 
> Sincerely yours,
> Mike.
> 

Reply via email to