From: Wei Liu Date: Wed, 1 Mar 2017 11:07:24 +0000 (+0000) Subject: acpi: check if mapping is valid before reading / writing X-Git-Tag: 4.9.0-rc1~367 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=34b05462d93f06f9a08caf98b7aed865f6b796bd;p=xen.git acpi: check if mapping is valid before reading / writing If acpi_map_os_memory has failed, return early with AE_ERROR. Coverity-ID: 1401601 Coverity-ID: 1401602 Signed-off-by: Wei Liu Reviewed-by: Jan Beulich --- diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c index 94dbf0406f..9881db19da 100644 --- a/xen/drivers/acpi/osl.c +++ b/xen/drivers/acpi/osl.c @@ -155,6 +155,9 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width) u32 dummy; void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3); + if (!virt_addr) + return AE_ERROR; + if (!value) value = &dummy; @@ -182,6 +185,9 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width) { void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3); + if (!virt_addr) + return AE_ERROR; + switch (width) { case 8: writeb(value, virt_addr);