]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ACPICA: ACPICA: add status check for acpi_hw_read before assigning return value
authorErik Schmauss <erik.schmauss@intel.com>
Fri, 10 Aug 2018 21:42:55 +0000 (14:42 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 14 Aug 2018 21:49:13 +0000 (23:49 +0200)
The value coming from acpi_hw_read() should not be used if it
returns an error code, so check the status returned by it before
using that value in two places in acpi_hw_register_read().

Reported-by: Mark Gross <mark.gross@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/hwregs.c

index 3de794bcf8fa8c1bf906ca5ac6f4d422ec5e0faa..69603ba52a3accc41d71b35ac863d6d4c7498f0d 100644 (file)
@@ -528,13 +528,18 @@ acpi_status acpi_hw_register_read(u32 register_id, u32 *return_value)
 
                status =
                    acpi_hw_read(&value64, &acpi_gbl_FADT.xpm2_control_block);
-               value = (u32)value64;
+               if (ACPI_SUCCESS(status)) {
+                       value = (u32)value64;
+               }
                break;
 
        case ACPI_REGISTER_PM_TIMER:    /* 32-bit access */
 
                status = acpi_hw_read(&value64, &acpi_gbl_FADT.xpm_timer_block);
-               value = (u32)value64;
+               if (ACPI_SUCCESS(status)) {
+                       value = (u32)value64;
+               }
+
                break;
 
        case ACPI_REGISTER_SMI_COMMAND_BLOCK:   /* 8-bit access */