On Fri, Jul 03 2015 at 5:00pm -0400, Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote: > Make dm-thin use dm_kvmalloc instead of kmalloc because there was a > reported allocation failure - see > https://bugzilla.redhat.com/show_bug.cgi?id=1225370 > > Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> > > --- > drivers/md/dm-thin.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > Index: linux-4.1/drivers/md/dm-thin.c > =================================================================== > --- linux-4.1.orig/drivers/md/dm-thin.c 2015-07-02 18:57:59.000000000 +0200 > +++ linux-4.1/drivers/md/dm-thin.c 2015-07-02 19:00:19.000000000 +0200 > @@ -2513,7 +2513,7 @@ static void __pool_destroy(struct pool * > mempool_destroy(pool->mapping_pool); > dm_deferred_set_destroy(pool->shared_read_ds); > dm_deferred_set_destroy(pool->all_io_ds); > - kfree(pool); > + kvfree(pool); > } > > static struct kmem_cache *_new_mapping_cache; > @@ -2535,7 +2535,7 @@ static struct pool *pool_create(struct m > return (struct pool *)pmd; > } > > - pool = kmalloc(sizeof(*pool), GFP_KERNEL); > + pool = dm_kvmalloc(sizeof(*pool), GFP_KERNEL); > if (!pool) { > *error = "Error allocating memory for pool"; > err_p = ERR_PTR(-ENOMEM); > @@ -2630,7 +2630,7 @@ bad_wq: > bad_kcopyd_client: > dm_bio_prison_destroy(pool->prison); > bad_prison: > - kfree(pool); > + kvfree(pool); > bad_pool: > if (dm_pool_metadata_close(pmd)) > DMWARN("%s: dm_pool_metadata_close() failed.", __func__); Also, this patchset is entirely too much interface churn to act as a minimalist fix for BZ 1225370. I've staged this fix for 4.2-rcX: https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=for-next&id=a822c83e47d97cdef38c4352e1ef62d9f46cfe98 We'll need to rebase to use your kvmalloc() for 4.3. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel