[PATCH v3 11/13 fix] mm/khugepaged: delete khugepaged_collapse_pte_mapped_thps(): fix
Hugh Dickins
hughd at google.com
Mon Jul 24 08:35:07 AEST 2023
Though not yet detected by syzbot, this commit was making the same
mistake with mmap_locked as the previous commit: fix that.
Signed-off-by: Hugh Dickins <hughd at google.com>
---
mm/khugepaged.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 1c773db26e88..41913730db4c 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -2380,19 +2380,17 @@ static unsigned int khugepaged_scan_mm_slot(unsigned int pages, int *result,
mmap_locked = false;
*result = hpage_collapse_scan_file(mm,
khugepaged_scan.address, file, pgoff, cc);
+ fput(file);
if (*result == SCAN_PTE_MAPPED_HUGEPAGE) {
mmap_read_lock(mm);
- mmap_locked = true;
- if (hpage_collapse_test_exit(mm)) {
- fput(file);
+ if (hpage_collapse_test_exit(mm))
goto breakouterloop;
- }
*result = collapse_pte_mapped_thp(mm,
khugepaged_scan.address, false);
if (*result == SCAN_PMD_MAPPED)
*result = SCAN_SUCCEED;
+ mmap_read_unlock(mm);
}
- fput(file);
} else {
*result = hpage_collapse_scan_pmd(mm, vma,
khugepaged_scan.address, &mmap_locked, cc);
--
2.35.3
More information about the Linuxppc-dev
mailing list