This command will crash with NULL pointer dereference.
dmsetup create flakey --table "0 `blockdev --getsize /dev/ram0` flakey 
/dev/ram0 0 0 1 2 corrupt_bio_byte 512"

We fix the crash by checking if arg_name is non-NULL before comparing it.

Signed-off-by: Mikulas Patocka <mpato...@redhat.com>
Cc: sta...@vger.kernel.org

---
 drivers/md/dm-flakey.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6/drivers/md/dm-flakey.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-flakey.c
+++ linux-2.6/drivers/md/dm-flakey.c
@@ -137,9 +137,9 @@ static int parse_features(struct dm_arg_
                         * Direction r or w?
                         */
                        arg_name = dm_shift_arg(as);
-                       if (!strcasecmp(arg_name, "w"))
+                       if (arg_name && !strcasecmp(arg_name, "w"))
                                fc->corrupt_bio_rw = WRITE;
-                       else if (!strcasecmp(arg_name, "r"))
+                       else if (arg_name && !strcasecmp(arg_name, "r"))
                                fc->corrupt_bio_rw = READ;
                        else {
                                ti->error = "Invalid corrupt bio direction (r 
or w)";

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to