]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
physmem: Bail out qemu_ram_block_from_host() for invalid ram addrs
authorEdgar E. Iglesias <edgar.iglesias@amd.com>
Mon, 1 Jul 2024 22:44:20 +0000 (00:44 +0200)
committerEdgar E. Iglesias <edgar.iglesias@amd.com>
Thu, 11 Jul 2024 22:17:36 +0000 (00:17 +0200)
Bail out in qemu_ram_block_from_host() when
xen_ram_addr_from_mapcache() does not find an existing
mapping.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
system/physmem.c

index 14aa025d4106493ef8525a33bdbc4b5bca43b622..2154432cb6a2114a08b4968a94712892226708be 100644 (file)
@@ -2277,6 +2277,10 @@ RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset,
         ram_addr_t ram_addr;
         RCU_READ_LOCK_GUARD();
         ram_addr = xen_ram_addr_from_mapcache(ptr);
+        if (ram_addr == RAM_ADDR_INVALID) {
+            return NULL;
+        }
+
         block = qemu_get_ram_block(ram_addr);
         if (block) {
             *offset = ram_addr - block->offset;