aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/raid0.c
diff options
context:
space:
mode:
authorAndre Noll <maan@systemlinux.org>2009-06-16 02:48:19 -0400
committerNeilBrown <neilb@suse.de>2009-06-16 02:48:19 -0400
commitfb5ab4b5d6e16fd5006c9f800d0116f3547cb760 (patch)
tree0094240e6c361d4e48e67103391dd29895eb5e68 /drivers/md/raid0.c
parented7b00380d957ec770b5e90380d012c6062c13cc (diff)
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 99cee51734e5..0d62ad6df212 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -298,16 +298,15 @@ static int raid0_run(mddev_t *mddev)
298 return 0; 298 return 0;
299} 299}
300 300
301static int raid0_stop (mddev_t *mddev) 301static int raid0_stop(mddev_t *mddev)
302{ 302{
303 raid0_conf_t *conf = mddev_to_conf(mddev); 303 raid0_conf_t *conf = mddev_to_conf(mddev);
304 304
305 blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/ 305 blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
306 kfree(conf->strip_zone); 306 kfree(conf->strip_zone);
307 conf->strip_zone = NULL; 307 kfree(conf->devlist);
308 kfree(conf); 308 kfree(conf);
309 mddev->private = NULL; 309 mddev->private = NULL;
310
311 return 0; 310 return 0;
312} 311}
313 312