From: Matthew Wilcox (Oracle) Date: Thu, 30 Sep 2021 03:09:23 +0000 (-0400) Subject: mm: Convert virt_to_cache() to use struct slab X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=cadebaa6d631287f98fc0f3a69de0fe81cd514d9;p=users%2Fwilly%2Flinux.git mm: Convert virt_to_cache() to use struct slab This function is entirely self-contained, so can be converted from page to slab. Signed-off-by: Matthew Wilcox (Oracle) --- diff --git a/mm/slab.h b/mm/slab.h index 305cc8c7fed8..3c691ef6b492 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -480,13 +480,13 @@ static inline void memcg_slab_free_hook(struct kmem_cache *s, static inline struct kmem_cache *virt_to_cache(const void *obj) { - struct page *page; + struct slab *slab; - page = virt_to_head_page(obj); - if (WARN_ONCE(!PageSlab(page), "%s: Object is not a Slab page!\n", + slab = virt_to_slab(obj); + if (WARN_ONCE(!SlabAllocation(slab), "%s: Object is not a Slab page!\n", __func__)) return NULL; - return page->slab_cache; + return slab->slab_cache; } static __always_inline void account_slab_page(struct page *page, int order,