Lines Matching defs:cache

202 void kasan_cache_shrink(struct kmem_cache *cache)
204 kasan_quarantine_remove_cache(cache);
207 void kasan_cache_shutdown(struct kmem_cache *cache)
209 if (!__kmem_cache_empty(cache))
210 kasan_quarantine_remove_cache(cache);
335 /* Only allow cache merging when no per-object metadata is present. */
359 void kasan_cache_create(struct kmem_cache *cache, unsigned int *size,
382 cache->kasan_info.alloc_meta_offset = *size;
392 cache->kasan_info.alloc_meta_offset = 0;
405 * Otherwise cache->kasan_info.free_meta_offset = 0 is implied.
407 if ((cache->flags & SLAB_TYPESAFE_BY_RCU) || cache->ctor ||
408 cache->object_size < sizeof(struct kasan_free_meta)) {
411 cache->kasan_info.free_meta_offset = *size;
416 cache->kasan_info.free_meta_offset = KASAN_NO_FREE_META;
422 optimal_size = cache->object_size + optimal_redzone(cache->object_size);
431 struct kasan_alloc_meta *kasan_get_alloc_meta(struct kmem_cache *cache,
434 if (!cache->kasan_info.alloc_meta_offset)
436 return (void *)object + cache->kasan_info.alloc_meta_offset;
439 struct kasan_free_meta *kasan_get_free_meta(struct kmem_cache *cache,
443 if (cache->kasan_info.free_meta_offset == KASAN_NO_FREE_META)
445 return (void *)object + cache->kasan_info.free_meta_offset;
448 void kasan_init_object_meta(struct kmem_cache *cache, const void *object)
452 alloc_meta = kasan_get_alloc_meta(cache, object);
457 size_t kasan_metadata_size(struct kmem_cache *cache, bool in_object)
459 struct kasan_cache *info = &cache->kasan_info;
478 struct kmem_cache *cache;
485 cache = slab->slab_cache;
486 object = nearest_obj(cache, slab, addr);
487 alloc_meta = kasan_get_alloc_meta(cache, object);
505 void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t flags)
509 alloc_meta = kasan_get_alloc_meta(cache, object);
514 void kasan_save_free_info(struct kmem_cache *cache, void *object)
518 free_meta = kasan_get_free_meta(cache, object);