libata: fix error checking in in ata_parse_force_one()
authorTejun Heo <tj@kernel.org>
Wed, 31 May 2017 18:26:26 +0000 (14:26 -0400)
committerTejun Heo <tj@kernel.org>
Wed, 31 May 2017 18:26:26 +0000 (14:26 -0400)
ata_parse_force_one() was incorrectly comparing @p to @endp when it
should have been comparing @id.  The only consequence is that it may
end up using an invalid port number in "libata.force" module param
instead of rejecting it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Petru-Florin Mihancea <petrum@gmail.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=195785
drivers/ata/libata-core.c

index 2d83b8c..e157a0e 100644 (file)
@@ -6800,7 +6800,7 @@ static int __init ata_parse_force_one(char **cur,
        }
 
        force_ent->port = simple_strtoul(id, &endp, 10);
-       if (p == endp || *endp != '\0') {
+       if (id == endp || *endp != '\0') {
                *reason = "invalid port/link";
                return -EINVAL;
        }