From e5dfacebe4a47fc9e4dd25246ed3599d60122e38 Mon Sep 17 00:00:00 2001 From: Hui Su <sh_def@163.com> Date: Mon, 14 Dec 2020 19:11:55 -0800 Subject: [PATCH] mm/hugetlb.c: just use put_page_testzero() instead of page_count() We test the page reference count is zero or not here, it can be a bug here if page refercence count is not zero. So we can just use put_page_testzero() instead of page_count(). Link: https://lkml.kernel.org/r/20201007170949.GA6416@rlk Signed-off-by: Hui Su <sh_def@163.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- mm/hugetlb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 4b809cc7a3fd..987d4b57ab0d 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -2014,8 +2014,7 @@ static int gather_surplus_pages(struct hstate *h, int delta) * This page is now managed by the hugetlb allocator and has * no users -- drop the buddy allocator's reference. */ - put_page_testzero(page); - VM_BUG_ON_PAGE(page_count(page), page); + VM_BUG_ON_PAGE(!put_page_testzero(page), page); enqueue_huge_page(h, page); } free: -- GitLab