diff options
Diffstat (limited to 'include/linux/mmdebug.h')
| -rw-r--r-- | include/linux/mmdebug.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/mmdebug.h b/include/linux/mmdebug.h index 2d57efa64cc1..edd82a105220 100644 --- a/include/linux/mmdebug.h +++ b/include/linux/mmdebug.h | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef LINUX_MM_DEBUG_H | 1 | #ifndef LINUX_MM_DEBUG_H |
| 2 | #define LINUX_MM_DEBUG_H 1 | 2 | #define LINUX_MM_DEBUG_H 1 |
| 3 | 3 | ||
| 4 | #include <linux/stringify.h> | ||
| 5 | |||
| 4 | struct page; | 6 | struct page; |
| 5 | 7 | ||
| 6 | extern void dump_page(struct page *page, const char *reason); | 8 | extern void dump_page(struct page *page, const char *reason); |
| @@ -9,11 +11,20 @@ extern void dump_page_badflags(struct page *page, const char *reason, | |||
| 9 | 11 | ||
| 10 | #ifdef CONFIG_DEBUG_VM | 12 | #ifdef CONFIG_DEBUG_VM |
| 11 | #define VM_BUG_ON(cond) BUG_ON(cond) | 13 | #define VM_BUG_ON(cond) BUG_ON(cond) |
| 12 | #define VM_BUG_ON_PAGE(cond, page) \ | 14 | #define VM_BUG_ON_PAGE(cond, page) \ |
| 13 | do { if (unlikely(cond)) { dump_page(page, NULL); BUG(); } } while (0) | 15 | do { \ |
| 16 | if (unlikely(cond)) { \ | ||
| 17 | dump_page(page, "VM_BUG_ON_PAGE(" __stringify(cond)")");\ | ||
| 18 | BUG(); \ | ||
| 19 | } \ | ||
| 20 | } while (0) | ||
| 21 | #define VM_WARN_ON(cond) WARN_ON(cond) | ||
| 22 | #define VM_WARN_ON_ONCE(cond) WARN_ON_ONCE(cond) | ||
| 14 | #else | 23 | #else |
| 15 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) | 24 | #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) |
| 16 | #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) | 25 | #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) |
| 26 | #define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond) | ||
| 27 | #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond) | ||
| 17 | #endif | 28 | #endif |
| 18 | 29 | ||
| 19 | #ifdef CONFIG_DEBUG_VIRTUAL | 30 | #ifdef CONFIG_DEBUG_VIRTUAL |
