From: Miaohe Lin Date: Wed, 5 May 2021 01:33:31 +0000 (-0700) Subject: mm/hugetlb: simplify the code when alloc_huge_page() failed in hugetlb_no_page() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d83e6c8a9b65876b0dcd11ca25e8c39bd7bb1a1c;p=linux.git mm/hugetlb: simplify the code when alloc_huge_page() failed in hugetlb_no_page() Rework the error handling code when alloc_huge_page() failed to remove some duplicated code and simplify the code slightly. Link: https://lkml.kernel.org/r/20210308112809.26107-5-linmiaohe@huawei.com Signed-off-by: Miaohe Lin Cc: Mike Kravetz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/hugetlb.c b/mm/hugetlb.c index c3d47af591375..c8f0a38588bae 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4395,13 +4395,10 @@ retry: * sure there really is no pte entry. */ ptl = huge_pte_lock(h, mm, ptep); - if (!huge_pte_none(huge_ptep_get(ptep))) { - ret = 0; - spin_unlock(ptl); - goto out; - } + ret = 0; + if (huge_pte_none(huge_ptep_get(ptep))) + ret = vmf_error(PTR_ERR(page)); spin_unlock(ptl); - ret = vmf_error(PTR_ERR(page)); goto out; } clear_huge_page(page, address, pages_per_huge_page(h));