mm/sl{a,u}b: fix wrong usages of folio_page() for getting head pages
authorSeongJae Park <sj@kernel.org>
Tue, 10 Jan 2023 00:51:24 +0000 (00:51 +0000)
committerVlastimil Babka <vbabka@suse.cz>
Fri, 13 Jan 2023 11:12:52 +0000 (12:12 +0100)
The standard idiom for getting head page of a given folio is
'&folio->page', but some are wrongly using 'folio_page(folio, 0)' for
the purpose.  Fix those to use the idiom.

Suggested-by: Matthew Wilcox <willy@infradead.org>
Signed-off-by: SeongJae Park <sj@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
mm/slab.c
mm/slub.c

index ede1f29..c7a50fe 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1386,7 +1386,7 @@ static void kmem_freepages(struct kmem_cache *cachep, struct slab *slab)
 
        BUG_ON(!folio_test_slab(folio));
        __slab_clear_pfmemalloc(slab);
-       page_mapcount_reset(folio_page(folio, 0));
+       page_mapcount_reset(&folio->page);
        folio->mapping = NULL;
        /* Make the mapping reset visible before clearing the flag */
        smp_wmb();
@@ -1395,7 +1395,7 @@ static void kmem_freepages(struct kmem_cache *cachep, struct slab *slab)
        if (current->reclaim_state)
                current->reclaim_state->reclaimed_slab += 1 << order;
        unaccount_slab(slab, order, cachep);
-       __free_pages(folio_page(folio, 0), order);
+       __free_pages(&folio->page, order);
 }
 
 static void kmem_rcu_free(struct rcu_head *head)
index 13459c6..777cfb7 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2066,7 +2066,7 @@ static void __free_slab(struct kmem_cache *s, struct slab *slab)
        if (current->reclaim_state)
                current->reclaim_state->reclaimed_slab += pages;
        unaccount_slab(slab, order, s);
-       __free_pages(folio_page(folio, 0), order);
+       __free_pages(&folio->page, order);
 }
 
 static void rcu_free_slab(struct rcu_head *h)