dm flakey: check for null arg_name in parse_features()
authorGoldwyn Rodrigues <rgoldwyn@suse.com>
Mon, 4 Dec 2017 03:14:12 +0000 (21:14 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Apr 2020 06:00:57 +0000 (08:00 +0200)
[ Upstream commit 7690e25302dc7d0cd42b349e746fe44b44a94f2b ]

One can crash dm-flakey by specifying more feature arguments than the
number of features supplied.  Checking for null in arg_name avoids
this.

dmsetup create flakey-test --table "0 66076080 flakey /dev/sdb9 0 0 180 2 drop_writes"

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/md/dm-flakey.c

index b1b68e01b889cd42823252832a572d234965a8ad..53cd31199f212c225c303a43d3024c33ffe9bbae 100644 (file)
@@ -70,6 +70,11 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc,
                arg_name = dm_shift_arg(as);
                argc--;
 
+               if (!arg_name) {
+                       ti->error = "Insufficient feature arguments";
+                       return -EINVAL;
+               }
+
                /*
                 * drop_writes
                 */