Message ID | 20210325113155.118574-1-wangwensheng4@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm/sparse: Add the missing sparse_buffer_fini() in error branch | expand |
On 25.03.21 12:31, Wang Wensheng wrote: > sparse_buffer_init() and sparse_buffer_fini() should appear in pair, or > a WARN issue would be through the next time sparse_buffer_init() runs. > > Add the missing sparse_buffer_fini() in error branch. > > Fixes: 85c77f791390 ("mm/sparse: add new sparse_init_nid() and sparse_init()") > Signed-off-by: Wang Wensheng <wangwensheng4@huawei.com> > --- > mm/sparse.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/sparse.c b/mm/sparse.c > index 7bd23f9..33406ea 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c > @@ -547,6 +547,7 @@ static void __init sparse_init_nid(int nid, unsigned long pnum_begin, > pr_err("%s: node[%d] memory map backing failed. Some memory will not be available.", > __func__, nid); > pnum_begin = pnum; > + sparse_buffer_fini(); > goto failed; > } > check_usemap_section_nr(nid, usage); > Did you actually manage to reproduce this? I would have thought that __populate_section_memmap() barely fails during boot ... Anyhow, looks like the right think to do to me Reviewed-by: David Hildenbrand <david@redhat.com>
On Thu, Mar 25, 2021 at 11:31:55AM +0000, Wang Wensheng wrote: > sparse_buffer_init() and sparse_buffer_fini() should appear in pair, or > a WARN issue would be through the next time sparse_buffer_init() runs. > > Add the missing sparse_buffer_fini() in error branch. > > Fixes: 85c77f791390 ("mm/sparse: add new sparse_init_nid() and sparse_init()") > Signed-off-by: Wang Wensheng <wangwensheng4@huawei.com> Reviewed-by: Oscar Salvador <osalvador@suse.de>
diff --git a/mm/sparse.c b/mm/sparse.c index 7bd23f9..33406ea 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -547,6 +547,7 @@ static void __init sparse_init_nid(int nid, unsigned long pnum_begin, pr_err("%s: node[%d] memory map backing failed. Some memory will not be available.", __func__, nid); pnum_begin = pnum; + sparse_buffer_fini(); goto failed; } check_usemap_section_nr(nid, usage);
sparse_buffer_init() and sparse_buffer_fini() should appear in pair, or a WARN issue would be through the next time sparse_buffer_init() runs. Add the missing sparse_buffer_fini() in error branch. Fixes: 85c77f791390 ("mm/sparse: add new sparse_init_nid() and sparse_init()") Signed-off-by: Wang Wensheng <wangwensheng4@huawei.com> --- mm/sparse.c | 1 + 1 file changed, 1 insertion(+)