s390/dasd: Fix a precision vs width bug in dasd_feature_list()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 26 Jun 2019 10:06:58 +0000 (13:06 +0300)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 2 Jul 2019 14:00:26 +0000 (16:00 +0200)
The "len" variable is the length of the option up to the next option or
to the end of the string which ever first.  We want to print the invalid
option so we want precision "%.*s" but the format is width "%*s" so it
prints up to the end of the string.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Tested-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/block/dasd_devmap.c

index fab35c6170cc81ab067b7573ae501e6781dcf292..245f33c2f71e5cc202d0edc7187ace888a3ec515 100644 (file)
@@ -203,7 +203,7 @@ static int __init dasd_feature_list(char *str)
                else if (len == 8 && !strncmp(str, "failfast", 8))
                        features |= DASD_FEATURE_FAILFAST;
                else {
-                       pr_warn("%*s is not a supported device option\n",
+                       pr_warn("%.*s is not a supported device option\n",
                                len, str);
                        rc = -EINVAL;
                }