Lines Matching refs:cache

204 void kasan_cache_shrink(struct kmem_cache *cache)  in kasan_cache_shrink()  argument
206 kasan_quarantine_remove_cache(cache); in kasan_cache_shrink()
209 void kasan_cache_shutdown(struct kmem_cache *cache) in kasan_cache_shutdown() argument
211 if (!__kmem_cache_empty(cache)) in kasan_cache_shutdown()
212 kasan_quarantine_remove_cache(cache); in kasan_cache_shutdown()
353 void kasan_cache_create(struct kmem_cache *cache, unsigned int *size, in kasan_cache_create() argument
376 cache->kasan_info.alloc_meta_offset = *size; in kasan_cache_create()
381 cache->kasan_info.alloc_meta_offset = 0; in kasan_cache_create()
387 orig_alloc_meta_offset = cache->kasan_info.alloc_meta_offset; in kasan_cache_create()
399 if ((cache->flags & SLAB_TYPESAFE_BY_RCU) || cache->ctor || in kasan_cache_create()
400 slub_debug_orig_size(cache)) { in kasan_cache_create()
401 cache->kasan_info.free_meta_offset = *size; in kasan_cache_create()
410 if (sizeof(struct kasan_free_meta) <= cache->object_size) { in kasan_cache_create()
424 cache->object_size; in kasan_cache_create()
426 if (cache->kasan_info.alloc_meta_offset != 0) in kasan_cache_create()
427 cache->kasan_info.alloc_meta_offset += rem_free_meta_size; in kasan_cache_create()
435 cache->kasan_info.free_meta_offset = *size; in kasan_cache_create()
441 cache->kasan_info.free_meta_offset = KASAN_NO_FREE_META; in kasan_cache_create()
442 cache->kasan_info.alloc_meta_offset = orig_alloc_meta_offset; in kasan_cache_create()
447 optimal_size = cache->object_size + optimal_redzone(cache->object_size); in kasan_cache_create()
456 struct kasan_alloc_meta *kasan_get_alloc_meta(struct kmem_cache *cache, in kasan_get_alloc_meta() argument
459 if (!cache->kasan_info.alloc_meta_offset) in kasan_get_alloc_meta()
461 return (void *)object + cache->kasan_info.alloc_meta_offset; in kasan_get_alloc_meta()
464 struct kasan_free_meta *kasan_get_free_meta(struct kmem_cache *cache, in kasan_get_free_meta() argument
468 if (cache->kasan_info.free_meta_offset == KASAN_NO_FREE_META) in kasan_get_free_meta()
470 return (void *)object + cache->kasan_info.free_meta_offset; in kasan_get_free_meta()
473 void kasan_init_object_meta(struct kmem_cache *cache, const void *object) in kasan_init_object_meta() argument
477 alloc_meta = kasan_get_alloc_meta(cache, object); in kasan_init_object_meta()
509 size_t kasan_metadata_size(struct kmem_cache *cache, bool in_object) in kasan_metadata_size() argument
511 struct kasan_cache *info = &cache->kasan_info; in kasan_metadata_size()
534 struct kmem_cache *cache; in kasan_record_aux_stack() local
541 cache = slab->slab_cache; in kasan_record_aux_stack()
542 object = nearest_obj(cache, slab, addr); in kasan_record_aux_stack()
543 alloc_meta = kasan_get_alloc_meta(cache, object); in kasan_record_aux_stack()
551 void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags) in kasan_save_alloc_info() argument
555 alloc_meta = kasan_get_alloc_meta(cache, object); in kasan_save_alloc_info()
565 void kasan_save_free_info(struct kmem_cache *cache, void *object) in kasan_save_free_info() argument
569 free_meta = kasan_get_free_meta(cache, object); in kasan_save_free_info()