/**
  * __page_check_anon_rmap - sanity check anonymous rmap addition
- * @page:      the page to add the mapping to
+ * @folio:     The folio containing @page.
+ * @page:      the page to check the mapping of
  * @vma:       the vm area in which the mapping is added
  * @address:   the user virtual address mapped
  */
-static void __page_check_anon_rmap(struct page *page,
+static void __page_check_anon_rmap(struct folio *folio, struct page *page,
        struct vm_area_struct *vma, unsigned long address)
 {
-       struct folio *folio = page_folio(page);
        /*
         * The page's anon-rmap details (mapping and index) are guaranteed to
         * be set up correctly at this point.
                        __page_set_anon_rmap(folio, page, vma, address,
                                             !!(flags & RMAP_EXCLUSIVE));
                else
-                       __page_check_anon_rmap(page, vma, address);
+                       __page_check_anon_rmap(folio, page, vma, address);
        }
 
        mlock_vma_folio(folio, vma, compound);