Patch #1 fixes a GUP-fast issue, whereby we might succeed in pinning secretmem folios. Patch #2 extends the memfd_secret selftest to cover that case. Patch #3 removes folio_is_secretmem() and instead lets folio_fast_pin_allowed() cover that case as well. With this series, the reproducer (+selftests) works as expected. To test patch #3, the gup_longterm test does exactly what we need, and keeps on working as expected. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Rapoport (IBM) <rppt@xxxxxxxxxx> Cc: Miklos Szeredi <mszeredi@xxxxxxxxxx> Cc: Lorenzo Stoakes <lstoakes@xxxxxxxxx> Cc: xingwei lee <xrivendell7@xxxxxxxxx> Cc: yue sun <samsun1006219@xxxxxxxxx> David Hildenbrand (3): mm/secretmem: fix GUP-fast succeeding on secretmem folios selftests/memfd_secret: add vmsplice() test mm: merge folio_is_secretmem() into folio_fast_pin_allowed() include/linux/secretmem.h | 21 ++--------- mm/gup.c | 33 ++++++++++------- tools/testing/selftests/mm/memfd_secret.c | 44 +++++++++++++++++++++-- 3 files changed, 65 insertions(+), 33 deletions(-) -- 2.43.2