summaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorHirokazu Takahashi <taka@valinux.co.jp>2013-04-24 11:42:44 +1000
committerNeilBrown <neilb@suse.de>2013-04-30 14:49:26 +1000
commit0fea7ed82b1edf384735a2b535368f54a8584c3a (patch)
tree665a368ec22cf84d17b92b90c0966a8a12266b5d /drivers/md
parentbe83651f0050ca8621d58d35dad558e9c45cb18f (diff)
downloadlinux-0fea7ed82b1edf384735a2b535368f54a8584c3a.tar.bz2
md: raid1/raid10 md devices leak memory when stopping
Hi. Raid1 and raid10 devices leak memory every time they stop. This is a patch for linux-3.9.0-rc7 to fix this problem. Thanks, Hirokazu Takahashi. Signed-off-by: Hirokazu Takahashi <taka@valinux.co.jp> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/raid1.c1
-rw-r--r--drivers/md/raid10.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index fd86b372692d..c055b92d7eb5 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -2901,6 +2901,7 @@ static int stop(struct mddev *mddev)
if (conf->r1bio_pool)
mempool_destroy(conf->r1bio_pool);
kfree(conf->mirrors);
+ safe_put_page(conf->tmppage);
kfree(conf->poolinfo);
kfree(conf);
mddev->private = NULL;
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 2372926dc559..c35d912a7f9b 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -3826,6 +3826,7 @@ static int stop(struct mddev *mddev)
if (conf->r10bio_pool)
mempool_destroy(conf->r10bio_pool);
+ safe_put_page(conf->tmppage);
kfree(conf->mirrors);
kfree(conf);
mddev->private = NULL;