| Bugzilla: 993744 |
| Upstream-status: ?? |
| |
| diff --git a/drivers/md/dm-cache-policy-mq.c b/drivers/md/dm-cache-policy-mq.c |
| index 416b7b7..9105771 100644 |
| |
| |
| @@ -866,7 +866,7 @@ static void mq_destroy(struct dm_cache_policy *p) |
| { |
| struct mq_policy *mq = to_mq_policy(p); |
| |
| - kfree(mq->table); |
| + vfree(mq->table); |
| epool_exit(&mq->cache_pool); |
| epool_exit(&mq->pre_cache_pool); |
| kfree(mq); |
| @@ -1221,7 +1221,7 @@ static struct dm_cache_policy *mq_create(dm_cblock_t cache_size, |
| |
| mq->nr_buckets = next_power(from_cblock(cache_size) / 2, 16); |
| mq->hash_bits = ffs(mq->nr_buckets) - 1; |
| - mq->table = kzalloc(sizeof(*mq->table) * mq->nr_buckets, GFP_KERNEL); |
| + mq->table = vzalloc(sizeof(*mq->table) * mq->nr_buckets); |
| if (!mq->table) |
| goto bad_alloc_table; |
| |