This series addresses the issue first reported in [1], and fully described in patch 2. Patches 1 and 2 address the user visible issue and are tagged for stable backports. While exploring solutions to this issue, related problems with mmu notification calls were discovered. This is addressed in patch 3. Since there are no user visible effects, patch 3 is not tagged for stable backports. 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/ v9-v10 Rearrange series and do not tag "remove duplicate mmu notifications" patch for stable as suggested by David. Mike Kravetz (3): madvise: use zap_page_range_single for madvise dontneed hugetlb: don't delete vma_lock in hugetlb MADV_DONTNEED processing hugetlb: remove duplicate mmu notifications 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.38.1