aboutsummaryrefslogtreecommitdiff
path: root/mm/backing-dev.c
diff options
context:
space:
mode:
authorMike Kravetz <[email protected]>2023-06-21 14:24:03 -0700
committerAndrew Morton <[email protected]>2023-06-23 16:59:32 -0700
commitfd4aed8d985a3236d0877ff6d0c80ad39d4ce81a (patch)
tree01380ababa937d48b99e002c82cea9c6836bee46 /mm/backing-dev.c
parent16f8eb3eea9eb2a1568279d64ca4dc977e7aa538 (diff)
hugetlb: revert use of page_cache_next_miss()
Ackerley Tng reported an issue with hugetlbfs fallocate as noted in the Closes tag. The issue showed up after the conversion of hugetlb page cache lookup code to use page_cache_next_miss. User visible effects are: - hugetlbfs fallocate incorrectly returns -EEXIST if pages are presnet in the file. - hugetlb pages will not be included in core dumps if they need to be brought in via GUP. - userfaultfd UFFDIO_COPY will not notice pages already present in the cache. It may try to allocate a new page and potentially return ENOMEM as opposed to EEXIST. Revert the use page_cache_next_miss() in hugetlb code. IMPORTANT NOTE FOR STABLE BACKPORTS: This patch will apply cleanly to v6.3. However, due to the change of filemap_get_folio() return values, it will not function correctly. This patch must be modified for stable backports. [[email protected]: fix hugetlbfs_pagecache_present()] Link: https://lkml.kernel.org/r/[email protected] Link: https://lkml.kernel.org/r/[email protected] Fixes: d0ce0e47b323 ("mm/hugetlb: convert hugetlb fault paths to use alloc_hugetlb_folio()") Signed-off-by: Mike Kravetz <[email protected]> Signed-off-by: Dan Carpenter <[email protected]> Reported-by: Ackerley Tng <[email protected]> Closes: https://lore.kernel.org/linux-mm/[email protected] Reviewed-by: Sidhartha Kumar <[email protected]> Cc: Erdem Aktas <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Muchun Song <[email protected]> Cc: Vishal Annapurve <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'mm/backing-dev.c')
0 files changed, 0 insertions, 0 deletions