mirror of https://gitee.com/openkylin/linux.git
fix hugetlb page allocation leak
dequeue_huge_page() has a serious memory leak upon hugetlb page allocation. The for loop continues on allocating hugetlb pages out of all allowable zone, where this function is supposedly only dequeue one and only one pages. Fixed it by breaking out of the for loop once a hugetlb page is found. Signed-off-by: Ken Chen <kenchen@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
be1ff386e7
commit
5ab3ee7b1c
|
@ -84,6 +84,7 @@ static struct page *dequeue_huge_page(struct vm_area_struct *vma,
|
|||
list_del(&page->lru);
|
||||
free_huge_pages--;
|
||||
free_huge_pages_node[nid]--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return page;
|
||||
|
|
Loading…
Reference in New Issue