浏览代码

ACPI: use kstrto*() instead of simple_strto*()

simple_strto*() are obsolete; use kstrto*() instead. Add proper error
checking.

Signed-off-by: Christoph Jaeger <christophjaeger@linux.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Christoph Jaeger 11 年之前
父节点
当前提交
3d915894f8
共有 3 个文件被更改,包括 8 次插入3 次删除
  1. 4 1
      drivers/acpi/battery.c
  2. 2 1
      drivers/acpi/osl.c
  3. 2 1
      drivers/acpi/tables.c

+ 4 - 1
drivers/acpi/battery.c

@@ -930,7 +930,10 @@ static ssize_t acpi_battery_write_alarm(struct file *file,
 		goto end;
 		goto end;
 	}
 	}
 	alarm_string[count] = '\0';
 	alarm_string[count] = '\0';
-	battery->alarm = simple_strtol(alarm_string, NULL, 0);
+	if (kstrtoint(alarm_string, 0, &battery->alarm)) {
+		result = -EINVAL;
+		goto end;
+	}
 	result = acpi_battery_set_alarm(battery);
 	result = acpi_battery_set_alarm(battery);
       end:
       end:
 	if (!result)
 	if (!result)

+ 2 - 1
drivers/acpi/osl.c

@@ -235,7 +235,8 @@ void acpi_os_vprintf(const char *fmt, va_list args)
 static unsigned long acpi_rsdp;
 static unsigned long acpi_rsdp;
 static int __init setup_acpi_rsdp(char *arg)
 static int __init setup_acpi_rsdp(char *arg)
 {
 {
-	acpi_rsdp = simple_strtoul(arg, NULL, 16);
+	if (kstrtoul(arg, 16, &acpi_rsdp))
+		return -EINVAL;
 	return 0;
 	return 0;
 }
 }
 early_param("acpi_rsdp", setup_acpi_rsdp);
 early_param("acpi_rsdp", setup_acpi_rsdp);

+ 2 - 1
drivers/acpi/tables.c

@@ -360,7 +360,8 @@ static int __init acpi_parse_apic_instance(char *str)
 	if (!str)
 	if (!str)
 		return -EINVAL;
 		return -EINVAL;
 
 
-	acpi_apic_instance = simple_strtoul(str, NULL, 0);
+	if (kstrtoint(str, 0, &acpi_apic_instance))
+		return -EINVAL;
 
 
 	pr_notice("Shall use APIC/MADT table %d\n", acpi_apic_instance);
 	pr_notice("Shall use APIC/MADT table %d\n", acpi_apic_instance);