summaryrefslogtreecommitdiff
path: root/include/linux/mmdebug.h
diff options
context:
space:
mode:
authorPaul Moore <pmoore@redhat.com>2014-03-31 09:49:07 -0400
committerPaul Moore <pmoore@redhat.com>2014-03-31 09:49:07 -0400
commit6d32c850621b0be75777b9102b14f6268bbd9f0f (patch)
treefec325f5c1ae763f5eccb3ca1254ab9d9d164b05 /include/linux/mmdebug.h
parenteee3094683fbc7fe6bcdaef58c1ef31f8460cdca (diff)
parent455c6fdbd219161bd09b1165f11699d6d73de11c (diff)
Merge tag 'v3.14' into next
Linux 3.14
Diffstat (limited to 'include/linux/mmdebug.h')
-rw-r--r--include/linux/mmdebug.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/mmdebug.h b/include/linux/mmdebug.h
index 580bd587d916..5042c036dda9 100644
--- a/include/linux/mmdebug.h
+++ b/include/linux/mmdebug.h
@@ -1,10 +1,19 @@
#ifndef LINUX_MM_DEBUG_H
#define LINUX_MM_DEBUG_H 1
+struct page;
+
+extern void dump_page(struct page *page, char *reason);
+extern void dump_page_badflags(struct page *page, char *reason,
+ unsigned long badflags);
+
#ifdef CONFIG_DEBUG_VM
#define VM_BUG_ON(cond) BUG_ON(cond)
+#define VM_BUG_ON_PAGE(cond, page) \
+ do { if (unlikely(cond)) { dump_page(page, NULL); BUG(); } } while (0)
#else
#define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond)
+#define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond)
#endif
#ifdef CONFIG_DEBUG_VIRTUAL