From 17d21439c4fb62f446a72f1f5964227fa8c1b5f8 Mon Sep 17 00:00:00 2001 From: Liu Zixian Date: Mon, 29 Aug 2022 15:10:32 +0800 Subject: [PATCH] hugetlb: fix hugepage leakage euleros inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I5OE36 CVE: NA ------------ Huge page should be released if read_actual_file failed. --- v2: change pr_info to pr_err_ratelimited Fixes:1af4fa6dcf83("hugetlb: support private file map") Signed-off-by: Liu Zixian --- mm/hugetlb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 817ae73d40bd..0301e9bfe1ae 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4858,8 +4858,12 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *mm, size_t page_size = huge_page_size(h); ret = read_actual_file(page, vma, &off, page_size); - if (ret) + if (ret) { + put_page(page); + pr_err_ratelimited("enhanced hugetlb mmap: read file failed\n"); + ret = vmf_error(ret); goto out; + } } #endif __SetPageUptodate(page); -- GitLab