]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/pagemap.h
mm: dump page when hitting a VM_BUG_ON using VM_BUG_ON_PAGE
[karo-tx-linux.git] / include / linux / pagemap.h
index e3dea75a078ba67b12408abd743633e3ea0a3995..1710d1b060ba23f47a0269cf3481805ee93480db 100644 (file)
@@ -162,7 +162,7 @@ static inline int page_cache_get_speculative(struct page *page)
         * disabling preempt, and hence no need for the "speculative get" that
         * SMP requires.
         */
-       VM_BUG_ON(page_count(page) == 0);
+       VM_BUG_ON_PAGE(page_count(page) == 0, page);
        atomic_inc(&page->_count);
 
 #else
@@ -175,7 +175,7 @@ static inline int page_cache_get_speculative(struct page *page)
                return 0;
        }
 #endif
-       VM_BUG_ON(PageTail(page));
+       VM_BUG_ON_PAGE(PageTail(page), page);
 
        return 1;
 }
@@ -191,14 +191,14 @@ static inline int page_cache_add_speculative(struct page *page, int count)
 # ifdef CONFIG_PREEMPT_COUNT
        VM_BUG_ON(!in_atomic());
 # endif
-       VM_BUG_ON(page_count(page) == 0);
+       VM_BUG_ON_PAGE(page_count(page) == 0, page);
        atomic_add(count, &page->_count);
 
 #else
        if (unlikely(!atomic_add_unless(&page->_count, count, 0)))
                return 0;
 #endif
-       VM_BUG_ON(PageCompound(page) && page != compound_head(page));
+       VM_BUG_ON_PAGE(PageCompound(page) && page != compound_head(page), page);
 
        return 1;
 }
@@ -210,7 +210,7 @@ static inline int page_freeze_refs(struct page *page, int count)
 
 static inline void page_unfreeze_refs(struct page *page, int count)
 {
-       VM_BUG_ON(page_count(page) != 0);
+       VM_BUG_ON_PAGE(page_count(page) != 0, page);
        VM_BUG_ON(count == 0);
 
        atomic_set(&page->_count, count);