Failling an mmap call or creating a memslot means that device emulation will not work, don't ignore it. Signed-off-by: Alexandru Elisei <alexandru.elisei@xxxxxxx> --- hw/vesa.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/vesa.c b/hw/vesa.c index b92cc990b730..a665736a76d7 100644 --- a/hw/vesa.c +++ b/hw/vesa.c @@ -76,9 +76,11 @@ struct framebuffer *vesa__init(struct kvm *kvm) mem = mmap(NULL, VESA_MEM_SIZE, PROT_RW, MAP_ANON_NORESERVE, -1, 0); if (mem == MAP_FAILED) - ERR_PTR(-errno); + return ERR_PTR(-errno); - kvm__register_dev_mem(kvm, VESA_MEM_ADDR, VESA_MEM_SIZE, mem); + r = kvm__register_dev_mem(kvm, VESA_MEM_ADDR, VESA_MEM_SIZE, mem); + if (r < 0) + return ERR_PTR(r); vesafb = (struct framebuffer) { .width = VESA_WIDTH, -- 2.20.1