Revert "crypto: user - no parsing of CRYPTO_MSG_GETALG"
[cascardo/linux.git] / mm / rmap.c
index 307b555..0ea5d90 100644 (file)
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -409,7 +409,7 @@ void unlink_anon_vmas(struct vm_area_struct *vma)
        list_for_each_entry_safe(avc, next, &vma->anon_vma_chain, same_vma) {
                struct anon_vma *anon_vma = avc->anon_vma;
 
-               BUG_ON(anon_vma->degree);
+               VM_WARN_ON(anon_vma->degree);
                put_anon_vma(anon_vma);
 
                list_del(&avc->same_vma);
@@ -1098,6 +1098,8 @@ void page_move_anon_rmap(struct page *page,
 
        VM_BUG_ON_PAGE(!PageLocked(page), page);
        VM_BUG_ON_VMA(!anon_vma, vma);
+       if (IS_ENABLED(CONFIG_DEBUG_VM) && PageTransHuge(page))
+               address &= HPAGE_PMD_MASK;
        VM_BUG_ON_PAGE(page->index != linear_page_index(vma, address), page);
 
        anon_vma = (void *) anon_vma + PAGE_MAPPING_ANON;
@@ -1249,7 +1251,7 @@ void page_add_new_anon_rmap(struct page *page,
        int nr = compound ? hpage_nr_pages(page) : 1;
 
        VM_BUG_ON_VMA(address < vma->vm_start || address >= vma->vm_end, vma);
-       SetPageSwapBacked(page);
+       __SetPageSwapBacked(page);
        if (compound) {
                VM_BUG_ON_PAGE(!PageTransHuge(page), page);
                /* increment count (starts at -1) */