Jan, This is the mmap solution proposed by Josef to solve the potential deadlock with faulting in user pages [1]. I've added test coverage to mmap() pre-content events and verified no pre-content events on page fault [2]. After some push back on [v2] for disabling page fault pre-content hooks while leaving their code in the kernel, this series revert the page fault pre-content hooks. This leaves DAX files access without pre-content hooks, but that was never a goal for this feature, so I think that is fine. Thanks, Amir. Changes since v2: - Revert page fault pre-content hooks - Remove mmap hook from remap_file_pages() (Lorenzo) - Create fsnotify_mmap_perm() wrapper (Lorenzo) [1] https://lore.kernel.org/linux-fsdevel/20250307154614.GA59451@perftesting/ [2] https://github.com/amir73il/ltp/commits/fan_hsm/ [v2] https://lore.kernel.org/linux-fsdevel/20250311114153.1763176-1-amir73il@xxxxxxxxx/ [v1] https://lore.kernel.org/linux-fsdevel/20250309115207.908112-1-amir73il@xxxxxxxxx/ Amir Goldstein (6): fsnotify: add pre-content hooks on mmap() Revert "ext4: add pre-content fsnotify hook for DAX faults" Revert "xfs: add pre-content fsnotify hook for DAX faults" Revert "fsnotify: generate pre-content permission event on page fault" Revert "mm: don't allow huge faults for files with pre content watches" Revert "fanotify: disable readahead if we have pre-content watches" fs/ext4/file.c | 3 -- fs/xfs/xfs_file.c | 13 ------ include/linux/fsnotify.h | 21 ++++++++++ include/linux/mm.h | 1 - mm/filemap.c | 86 ---------------------------------------- mm/memory.c | 19 --------- mm/nommu.c | 7 ---- mm/readahead.c | 14 ------- mm/util.c | 3 ++ 9 files changed, 24 insertions(+), 143 deletions(-) -- 2.34.1