• Hugh Dickins's avatar
    mm: change nr_ptes BUG_ON to WARN_ON · f9aed62a
    Hugh Dickins authored
    Occasionally an isolated BUG_ON(mm->nr_ptes) gets reported, indicating
    that not all the page tables allocated could be found and freed when
    exit_mmap() tore down the user address space.
    
    There's usually nothing we can say about it, beyond that it's probably a
    sign of some bad memory or memory corruption; though it might still
    indicate a bug in vma or page table management (and did recently reveal a
    race in THP, fixed a few months ago).
    
    But one overdue change we can make is from BUG_ON to WARN_ON.
    
    It's fairly likely that the system will crash shortly afterwards in some
    other way (for example, the BUG_ON(page_mapped(page)) in
    __delete_from_page_cache(), once an inode mapped into the lost page tables
    gets evicted); but might tell us more before that.
    
    Change the BUG_ON(page_mapped) to WARN_ON too?  Later perhaps: I'm less
    eager, since that one has several times led to fixes.
    Signed-off-by: default avatarHugh Dickins <hughd@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f9aed62a
mmap.c 70.6 KB