From bb553fb6eb6ee679db6b4dfd49f8dfc87eec3386 Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Thu, 12 Jul 2012 15:03:38 +0100 Subject: [PATCH 01/41] dm thin: fix memory leak in process_prepared_mapping Signed-off-by: Joe Thornber Signed-off-by: Mike Snitzer --- drivers/md/dm-thin.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c index 6d0fb34..14adc48 100644 --- a/drivers/md/dm-thin.c +++ b/drivers/md/dm-thin.c @@ -870,7 +870,7 @@ static void process_prepared_mapping(struct dm_thin_new_mapping *m) if (m->err) { cell_error(m->cell); - return; + goto out; } /* @@ -882,7 +882,7 @@ static void process_prepared_mapping(struct dm_thin_new_mapping *m) if (r) { DMERR("dm_thin_insert_block() failed"); cell_error(m->cell); - return; + goto out; } /* @@ -897,6 +897,7 @@ static void process_prepared_mapping(struct dm_thin_new_mapping *m) } else cell_defer(tc, m->cell, m->data_block); +out: list_del(&m->list); mempool_free(m, tc->pool->mapping_pool); } -- 1.7.1