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

Kiyoshi Ueda k-ueda at ct.jp.nec.com
Wed Nov 9 22:07:32 UTC 2005


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 at ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura at ce.jp.nec.com>

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




More information about the dm-devel mailing list