diff options
Diffstat (limited to 'drivers/md/dm-mpath.c')
-rw-r--r-- | drivers/md/dm-mpath.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index e92a0005eeff..922a3385eead 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c | |||
@@ -1070,8 +1070,9 @@ static int switch_pg_num(struct multipath *m, const char *pgstr) | |||
1070 | struct priority_group *pg; | 1070 | struct priority_group *pg; |
1071 | unsigned pgnum; | 1071 | unsigned pgnum; |
1072 | unsigned long flags; | 1072 | unsigned long flags; |
1073 | char dummy; | ||
1073 | 1074 | ||
1074 | if (!pgstr || (sscanf(pgstr, "%u", &pgnum) != 1) || !pgnum || | 1075 | if (!pgstr || (sscanf(pgstr, "%u%c", &pgnum, &dummy) != 1) || !pgnum || |
1075 | (pgnum > m->nr_priority_groups)) { | 1076 | (pgnum > m->nr_priority_groups)) { |
1076 | DMWARN("invalid PG number supplied to switch_pg_num"); | 1077 | DMWARN("invalid PG number supplied to switch_pg_num"); |
1077 | return -EINVAL; | 1078 | return -EINVAL; |
@@ -1101,8 +1102,9 @@ static int bypass_pg_num(struct multipath *m, const char *pgstr, int bypassed) | |||
1101 | { | 1102 | { |
1102 | struct priority_group *pg; | 1103 | struct priority_group *pg; |
1103 | unsigned pgnum; | 1104 | unsigned pgnum; |
1105 | char dummy; | ||
1104 | 1106 | ||
1105 | if (!pgstr || (sscanf(pgstr, "%u", &pgnum) != 1) || !pgnum || | 1107 | if (!pgstr || (sscanf(pgstr, "%u%c", &pgnum, &dummy) != 1) || !pgnum || |
1106 | (pgnum > m->nr_priority_groups)) { | 1108 | (pgnum > m->nr_priority_groups)) { |
1107 | DMWARN("invalid PG number supplied to bypass_pg"); | 1109 | DMWARN("invalid PG number supplied to bypass_pg"); |
1108 | return -EINVAL; | 1110 | return -EINVAL; |