[dm-devel] [PATCH] Check region size during dirty log creation

Heinz Mauelshagen heinzm at redhat.com
Wed Oct 29 13:02:08 UTC 2008


This patch adds checks to the dirty log creation for region size to be
larger than 2 sectors and to be a power of 2.

Signed-off-by: Heinz Mauelshagen <heinzm at redhat.com>
---

diff -up linux-2.6.27.4/drivers/md/dm-log.c.orig
linux-2.6.27.4/drivers/md/dm-log.c
--- linux-2.6.27.4/drivers/md/dm-log.c.log	2008-10-29 13:51:03.000000000
+0100
+++ linux-2.6.27.4/drivers/md/dm-log.c	2008-10-29 13:55:57.000000000
+0100
@@ -403,8 +403,10 @@ static int create_log_context(struct dm_
 		}
 	}
 
-	if (sscanf(argv[0], "%u", &region_size) != 1) {
-		DMWARN("invalid region size string");
+	if (sscanf(argv[0], "%u", &region_size) != 1 ||
+	    region_size < 2 ||
+	    (region_size & (region_size - 1))) {
+		DMWARN("invalid region size");
 		return -EINVAL;
 	}
 





More information about the dm-devel mailing list