aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/raid0.c
diff options
context:
space:
mode:
authorAndre Noll <maan@systemlinux.org>2009-06-16 16:48:19 +1000
committerNeilBrown <neilb@suse.de>2009-06-16 16:48:19 +1000
commitfb5ab4b5d6e16fd5006c9f800d0116f3547cb760 (patch)
tree0094240e6c361d4e48e67103391dd29895eb5e68 /drivers/md/raid0.c
parented7b00380d957ec770b5e90380d012c6062c13cc (diff)
downloadkernel_samsung_smdk4412-fb5ab4b5d6e16fd5006c9f800d0116f3547cb760.zip
kernel_samsung_smdk4412-fb5ab4b5d6e16fd5006c9f800d0116f3547cb760.tar.gz
kernel_samsung_smdk4412-fb5ab4b5d6e16fd5006c9f800d0116f3547cb760.tar.bz2
md: raid0: Fix a memory leak when stopping a raid0 array.
raid0_stop() removes all references to the raid0 configuration but misses to free the ->devlist buffer. This patch closes this leak, removes a pointless initialization and fixes a coding style issue in raid0_stop(). Signed-off-by: Andre Noll <maan@systemlinux.org> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid0.c')
-rw-r--r--drivers/md/raid0.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index 99cee51..0d62ad6 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -298,16 +298,15 @@ static int raid0_run(mddev_t *mddev)
return 0;
}
-static int raid0_stop (mddev_t *mddev)
+static int raid0_stop(mddev_t *mddev)
{
raid0_conf_t *conf = mddev_to_conf(mddev);
blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
kfree(conf->strip_zone);
- conf->strip_zone = NULL;
+ kfree(conf->devlist);
kfree(conf);
mddev->private = NULL;
-
return 0;
}