"Edgar E. Iglesias" <edgar.igles...@gmail.com> writes: > 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> > --- > system/physmem.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/system/physmem.c b/system/physmem.c > index 33d09f7571..59d1576c2b 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; > + } > +
Isn't this indicative of a failure? Should there at least be a trace point for failed mappings? > block = qemu_get_ram_block(ram_addr); > if (block) { > *offset = ram_addr - block->offset; -- Alex Bennée Virtualisation Tech Lead @ Linaro