Lines Matching defs:cache
136 void __kasan_unpoison_object_data(struct kmem_cache *cache, void *object)
138 kasan_unpoison(object, cache->object_size, false);
141 void __kasan_poison_object_data(struct kmem_cache *cache, void *object)
143 kasan_poison(object, round_up(cache->object_size, KASAN_GRANULE_SIZE),
149 * 1. A cache might have a constructor, which might save a pointer to a slab
153 * 2. A cache might be SLAB_TYPESAFE_BY_RCU, which means objects can be
161 static inline u8 assign_tag(struct kmem_cache *cache,
168 * If the cache neither has a constructor nor has SLAB_TYPESAFE_BY_RCU
171 if (!cache->ctor && !(cache->flags & SLAB_TYPESAFE_BY_RCU))
177 return (u8)obj_to_index(cache, virt_to_slab(object), (void *)object);
187 void * __must_check __kasan_init_slab_obj(struct kmem_cache *cache,
192 kasan_init_object_meta(cache, object);
195 object = set_tag(object, assign_tag(cache, object, true));
200 static inline bool ____kasan_slab_free(struct kmem_cache *cache, void *object,
214 if (unlikely(nearest_obj(cache, virt_to_slab(object), object) !=
221 if (unlikely(cache->flags & SLAB_TYPESAFE_BY_RCU))
229 kasan_poison(object, round_up(cache->object_size, KASAN_GRANULE_SIZE),
236 kasan_save_free_info(cache, tagged_object);
238 return kasan_quarantine_put(cache, object);
241 bool __kasan_slab_free(struct kmem_cache *cache, void *object,
244 return ____kasan_slab_free(cache, object, ip, true, init);
298 void * __must_check __kasan_slab_alloc(struct kmem_cache *cache,
317 tag = assign_tag(cache, object, false);
324 kasan_unpoison(tagged_object, cache->object_size, init);
327 if (kasan_stack_collection_enabled() && !is_kmalloc_cache(cache))
328 kasan_save_alloc_info(cache, tagged_object, flags);
333 static inline void *____kasan_kmalloc(struct kmem_cache *cache,
364 redzone_end = round_up((unsigned long)(object + cache->object_size),
373 if (kasan_stack_collection_enabled() && is_kmalloc_cache(cache))
374 kasan_save_alloc_info(cache, (void *)object, flags);
380 void * __must_check __kasan_kmalloc(struct kmem_cache *cache, const void *object,
383 return ____kasan_kmalloc(cache, object, size, flags);