Any occurrence of simple_strtoul has been replaced with the better strict_strtoul, because the former accepts and ignores any char at the tail while the latter only accepts a new line character following the number (and -EINVAL is returned otherwise). Signed-off-by: Marco Chiappero <marco@xxxxxxxxxx> --- --- a/drivers/platform/x86/sony-laptop.c +++ b/drivers/platform/x86/sony-laptop.c @@ -919,7 +919,8 @@ static ssize_t sony_nc_sysfs_store(struc if (count > 31) return -EINVAL; - value = simple_strtoul(buffer, NULL, 10); + if (strict_strtoul(buffer, 10, &value)) + return -EINVAL; if (item->validate) value = item->validate(SNC_VALIDATE_IN, value); @@ -2437,7 +2438,9 @@ static ssize_t sony_pic_wwanpower_store( if (count > 31) return -EINVAL; - value = simple_strtoul(buffer, NULL, 10); + if (strict_strtoul(buffer, 10, &value)) + return -EINVAL; + mutex_lock(&spic_dev.lock); __sony_pic_set_wwanpower(value); mutex_unlock(&spic_dev.lock); @@ -2474,7 +2477,9 @@ static ssize_t sony_pic_bluetoothpower_s if (count > 31) return -EINVAL; - value = simple_strtoul(buffer, NULL, 10); + if (strict_strtoul(buffer, 10, &value)) + return -EINVAL; + mutex_lock(&spic_dev.lock); __sony_pic_set_bluetoothpower(value); mutex_unlock(&spic_dev.lock); @@ -2513,7 +2518,9 @@ static ssize_t sony_pic_fanspeed_store(s if (count > 31) return -EINVAL; - value = simple_strtoul(buffer, NULL, 10); + if (strict_strtoul(buffer, 10, &value)) + return -EINVAL; + if (sony_pic_set_fanspeed(value)) return -EIO; -- 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