|
@@ -111,7 +111,7 @@ static __always_inline void kasan_poison_element(mempool_t *pool, void *element)
|
|
|
kasan_free_pages(element, (unsigned long)pool->pool_data);
|
|
|
}
|
|
|
|
|
|
-static void kasan_unpoison_element(mempool_t *pool, void *element, gfp_t flags)
|
|
|
+static void kasan_unpoison_element(mempool_t *pool, void *element)
|
|
|
{
|
|
|
if (pool->alloc == mempool_alloc_slab || pool->alloc == mempool_kmalloc)
|
|
|
kasan_unpoison_slab(element);
|
|
@@ -127,12 +127,12 @@ static __always_inline void add_element(mempool_t *pool, void *element)
|
|
|
pool->elements[pool->curr_nr++] = element;
|
|
|
}
|
|
|
|
|
|
-static void *remove_element(mempool_t *pool, gfp_t flags)
|
|
|
+static void *remove_element(mempool_t *pool)
|
|
|
{
|
|
|
void *element = pool->elements[--pool->curr_nr];
|
|
|
|
|
|
BUG_ON(pool->curr_nr < 0);
|
|
|
- kasan_unpoison_element(pool, element, flags);
|
|
|
+ kasan_unpoison_element(pool, element);
|
|
|
check_element(pool, element);
|
|
|
return element;
|
|
|
}
|
|
@@ -151,7 +151,7 @@ static void *remove_element(mempool_t *pool, gfp_t flags)
|
|
|
void mempool_exit(mempool_t *pool)
|
|
|
{
|
|
|
while (pool->curr_nr) {
|
|
|
- void *element = remove_element(pool, GFP_KERNEL);
|
|
|
+ void *element = remove_element(pool);
|
|
|
pool->free(element, pool->pool_data);
|
|
|
}
|
|
|
kfree(pool->elements);
|
|
@@ -301,7 +301,7 @@ int mempool_resize(mempool_t *pool, int new_min_nr)
|
|
|
spin_lock_irqsave(&pool->lock, flags);
|
|
|
if (new_min_nr <= pool->min_nr) {
|
|
|
while (new_min_nr < pool->curr_nr) {
|
|
|
- element = remove_element(pool, GFP_KERNEL);
|
|
|
+ element = remove_element(pool);
|
|
|
spin_unlock_irqrestore(&pool->lock, flags);
|
|
|
pool->free(element, pool->pool_data);
|
|
|
spin_lock_irqsave(&pool->lock, flags);
|
|
@@ -387,7 +387,7 @@ repeat_alloc:
|
|
|
|
|
|
spin_lock_irqsave(&pool->lock, flags);
|
|
|
if (likely(pool->curr_nr)) {
|
|
|
- element = remove_element(pool, gfp_temp);
|
|
|
+ element = remove_element(pool);
|
|
|
spin_unlock_irqrestore(&pool->lock, flags);
|
|
|
/* paired with rmb in mempool_free(), read comment there */
|
|
|
smp_wmb();
|