]> xenbits.xensource.com Git - xen.git/commitdiff
acpi: check if mapping is valid before reading / writing
authorWei Liu <wei.liu2@citrix.com>
Wed, 1 Mar 2017 11:07:24 +0000 (11:07 +0000)
committerWei Liu <wei.liu2@citrix.com>
Thu, 2 Mar 2017 08:32:30 +0000 (08:32 +0000)
If acpi_map_os_memory has failed, return early with AE_ERROR.

Coverity-ID: 1401601
Coverity-ID: 1401602

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/drivers/acpi/osl.c

index 94dbf0406facd5be5d65b819a922a28e07b346a3..9881db19da08c51449bf1e1330422c1c3f0cf818 100644 (file)
@@ -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);