aboutsummaryrefslogtreecommitdiff
path: root/mm/slab.h
diff options
context:
space:
mode:
authorGravatar Feng Tang <feng.tang@intel.com> 2023-01-04 14:06:04 +0800
committerGravatar Andrew Morton <akpm@linux-foundation.org> 2023-01-18 17:12:54 -0800
commitbb94429096d090f5e209624d08919a7962d6c4b7 (patch)
treea2f1f17b9531beb2d9be91ddcc7f59fc875eef58 /mm/slab.h
parentselftests/vm: cow: add COW tests for collapsing of PTE-mapped anon THP (diff)
downloadlinux-bb94429096d090f5e209624d08919a7962d6c4b7.tar.gz
linux-bb94429096d090f5e209624d08919a7962d6c4b7.tar.bz2
linux-bb94429096d090f5e209624d08919a7962d6c4b7.zip
mm/slab: add is_kmalloc_cache() helper function
commit 6edf2576a6cc ("mm/slub: enable debugging memory wasting of kmalloc") introduces 'SLAB_KMALLOC' bit specifying whether a kmem_cache is a kmalloc cache for slab/slub (slob doesn't have dedicated kmalloc caches). Add a helper inline function for other components like kasan to simplify code. Link: https://lkml.kernel.org/r/20230104060605.930910-1-feng.tang@intel.com Signed-off-by: Feng Tang <feng.tang@intel.com> Acked-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Acked-by: David Rientjes <rientjes@google.com> Cc: Alexander Potapenko <glider@google.com> Cc: Andrey Konovalov <andreyknvl@gmail.com> Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> Cc: Christoph Lameter <cl@linux.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: Roman Gushchin <roman.gushchin@linux.dev> Cc: Vincenzo Frascino <vincenzo.frascino@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/slab.h')
-rw-r--r--mm/slab.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/slab.h b/mm/slab.h
index 7cc432969945..63fb4c00d529 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -323,6 +323,14 @@ static inline slab_flags_t kmem_cache_flags(unsigned int object_size,
}
#endif
+static inline bool is_kmalloc_cache(struct kmem_cache *s)
+{
+#ifndef CONFIG_SLOB
+ return (s->flags & SLAB_KMALLOC);
+#else
+ return false;
+#endif
+}
/* Legal flag mask for kmem_cache_create(), for various configurations */
#define SLAB_CORE_FLAGS (SLAB_HWCACHE_ALIGN | SLAB_CACHE_DMA | \