From: "Edgar E. Iglesias" <edgar.igles...@amd.com> 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.igles...@amd.com> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> --- system/physmem.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/system/physmem.c b/system/physmem.c index 14aa025d41..2154432cb6 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -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; -- 2.43.0