From: Matthew Wilcox (Oracle) Date: Thu, 13 Nov 2025 00:09:25 +0000 (+0000) Subject: slab: Remove folio references from kfree_rcu_sheaf() X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d26842fd43cb0f7e29c9f8e98af9091ccb0aef5;p=thirdparty%2Flinux.git slab: Remove folio references from kfree_rcu_sheaf() In preparation for splitting struct slab from struct page and struct folio, remove mentions of struct folio from this function. Since we don't need to handle large kmalloc objects specially here, we can just use virt_to_slab(). Signed-off-by: Matthew Wilcox (Oracle) Link: https://patch.msgid.link/20251113000932.1589073-12-willy@infradead.org Reviewed-by: Harry Yoo Signed-off-by: Vlastimil Babka --- diff --git a/mm/slab_common.c b/mm/slab_common.c index 67ad2328276eb..84dfff4f7b1fc 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -1615,17 +1615,15 @@ static void kfree_rcu_work(struct work_struct *work) static bool kfree_rcu_sheaf(void *obj) { struct kmem_cache *s; - struct folio *folio; struct slab *slab; if (is_vmalloc_addr(obj)) return false; - folio = virt_to_folio(obj); - if (unlikely(!folio_test_slab(folio))) + slab = virt_to_slab(obj); + if (unlikely(!slab)) return false; - slab = folio_slab(folio); s = slab->slab_cache; if (s->cpu_sheaves) { if (likely(!IS_ENABLED(CONFIG_NUMA) ||