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 fab35c6..245f33c 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;
                }