From a72cf737e09da409e047863e38410930dae5fe05 Mon Sep 17 00:00:00 2001 Subject: [RHEL5.7 PATCH] dm raid1: fix leakage Only needed to fix alloc_context's missing dm_io_client_destroy() Upstream commit a72cf737e09da409e047863e38410930dae5fe05 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:39 2007 +0100 dm raid1: fix leakage Add missing 'dm_io_client_destroy' to alloc_context error path. Reorganize mirror constructor error path in order to prevent workqueue leakage. Signed-off-by: Dmitry Monakhov Signed-off-by: Alasdair G Kergon --- drivers/md/dm-raid1.c | 1 + 1 file changed, 1 insertion(+) Index: linux-rhel5/drivers/md/dm-raid1.c =================================================================== --- linux-rhel5.orig/drivers/md/dm-raid1.c +++ linux-rhel5/drivers/md/dm-raid1.c @@ -1431,6 +1431,7 @@ static struct mirror_set *alloc_context( if (rh_init(&ms->rh, ms, dl, region_size, ms->nr_regions)) { ti->error = "Error creating dirty region hash"; + dm_io_client_destroy(ms->io_client); kfree(ms); return NULL; }