This series addresses the issue first reported in [1], and fully described in patch 3. While exploring solutions to this issue, related problems with mmu notification calls were discovered. The first two patches address those issues. Previous discussions suggested further cleanup by removing the routine zap_page_range. This is possible because zap_page_range_single is now exported, and all callers of zap_page_range pass ranges entirely within a single vma. This work will be done in a later patch so as not to distract from this bug fix. [1] https://lore.kernel.org/lkml/CAO4mrfdLMXsao9RF4fUE8-Wfde8xmjsKrTNMNC9wjUb6JudD0g@xxxxxxxxxxxxxx/ Mike Kravetz (3): madvise: use zap_page_range_single for madvise dontneed hugetlb: remove duplicate mmu notifications hugetlb: don't delete vma_lock in hugetlb MADV_DONTNEED processing include/linux/mm.h | 29 +++++++++++++++++++++-------- mm/hugetlb.c | 45 +++++++++++++++++++++++++-------------------- mm/madvise.c | 6 +++--- mm/memory.c | 25 ++++++++++++------------- 4 files changed, 61 insertions(+), 44 deletions(-) -- 2.37.3