mm/mempolicy: use a folio in do_mbind()
[linux-2.6-microblaze.git] / mm / mempolicy.c
index 56f9a6e..0fe7773 100644 (file)
@@ -1356,29 +1356,30 @@ static long do_mbind(unsigned long start, unsigned long len,
                 */
                if (new->mode == MPOL_INTERLEAVE ||
                    new->mode == MPOL_WEIGHTED_INTERLEAVE) {
-                       struct page *page;
+                       struct folio *folio;
                        unsigned int order;
                        unsigned long addr = -EFAULT;
 
-                       list_for_each_entry(page, &pagelist, lru) {
-                               if (!PageKsm(page))
+                       list_for_each_entry(folio, &pagelist, lru) {
+                               if (!folio_test_ksm(folio))
                                        break;
                        }
-                       if (!list_entry_is_head(page, &pagelist, lru)) {
+                       if (!list_entry_is_head(folio, &pagelist, lru)) {
                                vma_iter_init(&vmi, mm, start);
                                for_each_vma_range(vmi, vma, end) {
-                                       addr = page_address_in_vma(page, vma);
+                                       addr = page_address_in_vma(
+                                               folio_page(folio, 0), vma);
                                        if (addr != -EFAULT)
                                                break;
                                }
                        }
                        if (addr != -EFAULT) {
-                               order = compound_order(page);
+                               order = folio_order(folio);
                                /* We already know the pol, but not the ilx */
                                mpol_cond_put(get_vma_policy(vma, addr, order,
                                                             &mmpol.ilx));
                                /* Set base from which to increment by index */
-                               mmpol.ilx -= page->index >> order;
+                               mmpol.ilx -= folio->index >> order;
                        }
                }
        }