mm: memory: use a folio in validate_page_before_insert()
authorKefeng Wang <wangkefeng.wang@huawei.com>
Sat, 18 Nov 2023 02:32:29 +0000 (10:32 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 12 Dec 2023 18:57:05 +0000 (10:57 -0800)
Use a folio in validate_page_before_insert() to save two compound_head()
calls.

Link: https://lkml.kernel.org/r/20231118023232.1409103-3-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory.c

index a8ff3489211bcf66323268cc33762fa07fd60c7e..5a917b21a122c7d0503507c50bd99454bad4c607 100644 (file)
@@ -1842,9 +1842,12 @@ pte_t *__get_locked_pte(struct mm_struct *mm, unsigned long addr,
 
 static int validate_page_before_insert(struct page *page)
 {
-       if (PageAnon(page) || PageSlab(page) || page_has_type(page))
+       struct folio *folio = page_folio(page);
+
+       if (folio_test_anon(folio) || folio_test_slab(folio) ||
+           page_has_type(page))
                return -EINVAL;
-       flush_dcache_page(page);
+       flush_dcache_folio(folio);
        return 0;
 }