physmem: Bail out qemu_ram_block_from_host() for invalid ram addrs

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>
This commit is contained in:
Edgar E. Iglesias 2024-07-02 00:44:20 +02:00
parent d01a6fffa9
commit 596ccccdbf
1 changed files with 4 additions and 0 deletions

View 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;