On Thu, Aug 08, 2024 at 03:42:35PM +0000, Pasha Tatashin wrote: > When in alloc_vmemmap_page_list() memmap is failed to allocate, do > not account, the memory is going to be release at the function exit. > > Fixes: 15995a352474 ("mm: report per-page metadata information") > Signed-off-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx> > --- Reviewed-by: Fan Ni <fan.ni@xxxxxxxxxxx> > mm/hugetlb_vmemmap.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c > index fa83a7b38199..70027869d844 100644 > --- a/mm/hugetlb_vmemmap.c > +++ b/mm/hugetlb_vmemmap.c > @@ -392,13 +392,10 @@ static int alloc_vmemmap_page_list(unsigned long start, unsigned long end, > > for (i = 0; i < nr_pages; i++) { > page = alloc_pages_node(nid, gfp_mask, 0); > - if (!page) { > - mod_node_page_state(NODE_DATA(nid), NR_MEMMAP, i); > + if (!page) > goto out; > - } > list_add(&page->lru, list); > } > - > mod_node_page_state(NODE_DATA(nid), NR_MEMMAP, nr_pages); > > return 0; > -- > 2.46.0.76.ge559c4bf1a-goog >