mm: dump page when hitting a VM_BUG_ON using VM_BUG_ON_PAGE
authorSasha Levin <sasha.levin@oracle.com>
Thu, 23 Jan 2014 23:52:54 +0000 (15:52 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 24 Jan 2014 00:36:50 +0000 (16:36 -0800)
commit309381feaee564281c3d9e90fbca8963bb7428ad
tree7e9f990c0cffcb8c5fc90deb1c7eac445c5ada0e
parente3bba3c3c90cd434c1ccb9e5dc704a96baf9541c
mm: dump page when hitting a VM_BUG_ON using VM_BUG_ON_PAGE

Most of the VM_BUG_ON assertions are performed on a page.  Usually, when
one of these assertions fails we'll get a BUG_ON with a call stack and
the registers.

I've recently noticed based on the requests to add a small piece of code
that dumps the page to various VM_BUG_ON sites that the page dump is
quite useful to people debugging issues in mm.

This patch adds a VM_BUG_ON_PAGE(cond, page) which beyond doing what
VM_BUG_ON() does, also dumps the page before executing the actual
BUG_ON.

[akpm@linux-foundation.org: fix up includes]
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
30 files changed:
arch/x86/mm/gup.c
include/linux/gfp.h
include/linux/hugetlb.h
include/linux/hugetlb_cgroup.h
include/linux/mm.h
include/linux/mmdebug.h
include/linux/page-flags.h
include/linux/pagemap.h
include/linux/percpu.h
mm/cleancache.c
mm/compaction.c
mm/filemap.c
mm/huge_memory.c
mm/hugetlb.c
mm/hugetlb_cgroup.c
mm/internal.h
mm/ksm.c
mm/memcontrol.c
mm/memory.c
mm/migrate.c
mm/mlock.c
mm/page_alloc.c
mm/page_io.c
mm/rmap.c
mm/shmem.c
mm/slub.c
mm/swap.c
mm/swap_state.c
mm/swapfile.c
mm/vmscan.c