Lines Matching refs:element
24 static void poison_error(mempool_t *pool, void *element, size_t size, in poison_error() argument
34 pr_err(" nr=%d @ %p: %s0x", nr, element, start > 0 ? "... " : ""); in poison_error()
36 pr_cont("%x ", *(u8 *)(element + i)); in poison_error()
41 static void __check_element(mempool_t *pool, void *element, size_t size) in __check_element() argument
43 u8 *obj = element; in __check_element()
50 poison_error(pool, element, size, i); in __check_element()
57 static void check_element(mempool_t *pool, void *element) in check_element() argument
61 __check_element(pool, element, ksize(element)); in check_element()
66 void *addr = kmap_atomic((struct page *)element); in check_element()
73 static void __poison_element(void *element, size_t size) in __poison_element() argument
75 u8 *obj = element; in __poison_element()
81 static void poison_element(mempool_t *pool, void *element) in poison_element() argument
85 __poison_element(element, ksize(element)); in poison_element()
90 void *addr = kmap_atomic((struct page *)element); in poison_element()
97 static inline void check_element(mempool_t *pool, void *element) in check_element() argument
100 static inline void poison_element(mempool_t *pool, void *element) in poison_element() argument
105 static void kasan_poison_element(mempool_t *pool, void *element) in kasan_poison_element() argument
108 kasan_slab_free(pool->pool_data, element); in kasan_poison_element()
110 kasan_kfree(element); in kasan_poison_element()
112 kasan_free_pages(element, (unsigned long)pool->pool_data); in kasan_poison_element()
115 static void kasan_unpoison_element(mempool_t *pool, void *element) in kasan_unpoison_element() argument
118 kasan_slab_alloc(pool->pool_data, element); in kasan_unpoison_element()
120 kasan_krealloc(element, (size_t)pool->pool_data); in kasan_unpoison_element()
122 kasan_alloc_pages(element, (unsigned long)pool->pool_data); in kasan_unpoison_element()
125 static void add_element(mempool_t *pool, void *element) in add_element() argument
128 poison_element(pool, element); in add_element()
129 kasan_poison_element(pool, element); in add_element()
130 pool->elements[pool->curr_nr++] = element; in add_element()
135 void *element = pool->elements[--pool->curr_nr]; in remove_element() local
138 check_element(pool, element); in remove_element()
139 kasan_unpoison_element(pool, element); in remove_element()
140 return element; in remove_element()
154 void *element = remove_element(pool); in mempool_destroy() local
155 pool->free(element, pool->pool_data); in mempool_destroy()
209 void *element; in mempool_create_node() local
211 element = pool->alloc(gfp_mask, pool->pool_data); in mempool_create_node()
212 if (unlikely(!element)) { in mempool_create_node()
216 add_element(pool, element); in mempool_create_node()
240 void *element; in mempool_resize() local
250 element = remove_element(pool); in mempool_resize()
252 pool->free(element, pool->pool_data); in mempool_resize()
281 element = pool->alloc(GFP_KERNEL, pool->pool_data); in mempool_resize()
282 if (!element) in mempool_resize()
286 add_element(pool, element); in mempool_resize()
289 pool->free(element, pool->pool_data); /* Raced */ in mempool_resize()
314 void *element; in mempool_alloc() local
330 element = pool->alloc(gfp_temp, pool->pool_data); in mempool_alloc()
331 if (likely(element != NULL)) in mempool_alloc()
332 return element; in mempool_alloc()
336 element = remove_element(pool); in mempool_alloc()
344 kmemleak_update_trace(element); in mempool_alloc()
345 return element; in mempool_alloc()
389 void mempool_free(void *element, mempool_t *pool) in mempool_free() argument
393 if (unlikely(element == NULL)) in mempool_free()
432 add_element(pool, element); in mempool_free()
439 pool->free(element, pool->pool_data); in mempool_free()
454 void mempool_free_slab(void *element, void *pool_data) in mempool_free_slab() argument
457 kmem_cache_free(mem, element); in mempool_free_slab()
472 void mempool_kfree(void *element, void *pool_data) in mempool_kfree() argument
474 kfree(element); in mempool_kfree()
489 void mempool_free_pages(void *element, void *pool_data) in mempool_free_pages() argument
492 __free_pages(element, order); in mempool_free_pages()