Lines Matching defs:cache
132 static void *qlink_to_object(struct qlist_node *qlink, struct kmem_cache *cache)
138 return ((void *)free_info) - cache->kasan_info.free_meta_offset;
141 static void qlink_free(struct qlist_node *qlink, struct kmem_cache *cache)
143 void *object = qlink_to_object(qlink, cache);
144 struct kasan_free_meta *meta = kasan_get_free_meta(cache, object);
156 if (slab_want_init_on_free(cache) &&
157 cache->kasan_info.free_meta_offset == 0)
166 ___cache_free(cache, object, _THIS_IP_);
172 static void qlist_free_all(struct qlist_head *q, struct kmem_cache *cache)
182 cache ? cache : qlink_to_cache(qlink);
191 bool kasan_quarantine_put(struct kmem_cache *cache, void *object)
196 struct kasan_free_meta *meta = kasan_get_free_meta(cache, object);
208 * miss some objects belonging to the cache if they are in our local
220 qlist_put(q, &meta->quarantine_link, cache->size);
258 * will not miss objects belonging to the cache while they are in our
298 struct kmem_cache *cache)
311 if (obj_cache == cache)
322 struct kmem_cache *cache = arg;
328 qlist_move_cache(q, &sq->qlist, cache);
347 /* Free all quarantined objects belonging to cache. */
348 void kasan_quarantine_remove_cache(struct kmem_cache *cache)
362 on_each_cpu(per_cpu_remove_cache, cache, 1);
367 qlist_move_cache(&sq->qlist, &to_free, cache);
370 qlist_free_all(&to_free, cache);
376 qlist_move_cache(&global_quarantine[i], &to_free, cache);
384 qlist_free_all(&to_free, cache);