On Wed, 20 Aug 2014, Valdis Kletnieks wrote: > Both the original and the first attempted patch managed to get the logic wrong. > So we fix it so we only continue if sscanf returns exactly one value, and it > has to be either 1 or 2. Apparently, programmers are getting out and hacking > code without remembering de Morgan's Laws... > > Patch is against the file that results from Ari's revert of the previous > patch. > > Signed-Off-By: Valdis Kletnieks <valdis.kletnieks@xxxxxx> > > -- > --- drivers/platform/x86/toshiba_acpi.c.orig 2014-08-20 14:45:52.159898938 -0400 > +++ drivers/platform/x86/toshiba_acpi.c 2014-08-20 14:47:55.102444985 -0400 > @@ -1258,7 +1258,7 @@ static ssize_t toshiba_kbd_bl_mode_store > int mode = -1; > int time = -1; > > - if (sscanf(buf, "%i", &mode) != 1 && (mode != 2 || mode != 1)) > + if (sscanf(buf, "%i", &mode) != 1 || !(mode == 2 || mode == 1)) > return -EINVAL; > > /* Set the Keyboard Backlight Mode where: Looks good to me. It seems Matthew already reverted the bad commit in mainline commit 8039aabb6c9f802bca04cc77ca210060a5b53916, but didn't fix the original logic yet. Matthew, could you apply Valdis' patch so this gets fixed once and for all? Best regards, Ari Sundholm asundhol@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html