diff options
author | Andre Noll <maan@systemlinux.org> | 2009-06-16 16:48:19 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-06-16 16:48:19 +1000 |
commit | fb5ab4b5d6e16fd5006c9f800d0116f3547cb760 (patch) | |
tree | 0094240e6c361d4e48e67103391dd29895eb5e68 /drivers/md/raid0.c | |
parent | ed7b00380d957ec770b5e90380d012c6062c13cc (diff) | |
download | linux-fb5ab4b5d6e16fd5006c9f800d0116f3547cb760.tar.gz linux-fb5ab4b5d6e16fd5006c9f800d0116f3547cb760.tar.bz2 linux-fb5ab4b5d6e16fd5006c9f800d0116f3547cb760.zip |
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.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 99cee51734e5..0d62ad6df212 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; } |