[PATCH] dm: memory leak in failed table_load()

From: Kiyoshi Ueda
Date: Wed Nov 09 2005 - 17:07:49 EST


Hi Alasdair,

This patch fixes following two problems which occur when "dmsetup load foo"
is executed before the map of the "foo" is created.

o memory leak.
o unable to unload the dm_mod module.

Please consider to apply.

How to reproduce the problem:
# echo "0 10 linear 8:16 0" | dmsetup load foo
(Need to change "8:16" appropriately.)

Patch for 2.6.14:
Signed-off-by: Kiyoshi Ueda <k-ueda@xxxxxxxxxxxxx>
Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx>

diff -up 2.6.14/drivers/md/dm-ioctl.c fix/drivers/md/dm-ioctl.c
--- 2.6.14/drivers/md/dm-ioctl.c 2005-10-27 20:02:08.000000000 -0400
+++ fix/drivers/md/dm-ioctl.c 2005-11-09 15:29:59.000000000 -0500
@@ -974,6 +974,7 @@ static int table_load(struct dm_ioctl *p
if (!hc) {
DMWARN("device doesn't appear to be in the dev hash table.");
up_write(&_hash_lock);
+ dm_table_put(t);
return -ENXIO;
}

Thanks,
Kiyoshi Ueda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/