>From 57da07e6847cedd14d54ba1675264377846a026c Mon Sep 17 00:00:00 2001
From: Shahzad Bangash <ext-shahzad.bangash@nokia.com>
Date: Tue, 3 Aug 2010 13:58:48 +0300
Subject: [PATCH] Fixes memory leak in setup_indexes
Signed-off-by: Shahzad Bangash <ext-shahzad.bangash@nokia.com>
---
drivers/md/dm-table.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
@@ -876,7 +876,7 @@ static int setup_indexes(struct dm_table *t)
{
int i;
unsigned int total = 0;
- sector_t *indexes;
+ sector_t *indexes, *indexes_head;
/* allocate the space for *all* the indexes */
for (i = t->depth - 2; i >= 0; i--) {
@@ -888,6 +888,8 @@ static int setup_indexes(struct dm_table *t)
if (!indexes)
return -ENOMEM;
+ indexes_head = indexes;
+
/* set up internal nodes, bottom-up */
for (i = t->depth - 2; i >= 0; i--) {
t->index[i] = indexes;
@@ -895,6 +897,7 @@ static int setup_indexes(struct dm_table *t)
setup_btree_index(i, t);
}
+ vfree(indexes_head);
return 0;
}
--
1.6.3.3