We introduced arch_make_folio_accessible() a couple of years ago, and it's in use in the page writeback path. GUP still uses arch_make_page_accessible(), which means that we can succeed in making a single page of a folio accessible, then fail to make the rest of the folio accessible when it comes time to do writeback and it's too late to do anything about it. I'm not sure how much of a real problem this is. Switching everything around to arch_make_folio_accessible() also lets us switch the page flag to be per-folio instead of per-page, which is a good step towards dynamically allocated folios. Build-tested only. Matthew Wilcox (Oracle) (3): mm: Use arch_make_folio_accessible() in gup_pte_range() mm: Convert follow_page_pte() to use a folio s390: Convert arch_make_page_accessible() to arch_make_folio_accessible() arch/s390/include/asm/page.h | 5 ++-- arch/s390/kernel/uv.c | 46 +++++++++++++++++++++++------------- arch/s390/mm/fault.c | 15 ++++++------ include/linux/mm.h | 20 ++-------------- mm/gup.c | 22 +++++++++-------- 5 files changed, 54 insertions(+), 54 deletions(-) -- 2.40.1