igvm: fix memory leak on failed memory region init
When memory_region_init_* fail, `igvm_pages` is not freed causing a leak. Free `igvm_pages` in the error path. Fixes: c1d466d267cf ("backends/igvm: Add IGVM loader and configuration") Signed-off-by: Luigi Leonardi <leonardi@redhat.com> Message-ID: <20260330-igvm_fixes-v1-2-03587a5a808b@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Luigi Leonardi committed
Mar 30, 2026 at 14:43 UTC
5df493476f211690e5831346345e00a4ebc6f5d5
1 file changed
+2
backends/igvm.c
+2
@@ -216,11 +216,13 @@ static void *qigvm_prepare_memory(QIgvm *ctx, uint64_t addr, uint64_t size,
216
ctx->machine_state->cgs->require_guest_memfd) {
217
if (!memory_region_init_ram_guest_memfd(igvm_pages, NULL,
218
region_name, size, errp)) {
219
+ g_free(igvm_pages);
220
return NULL;
221
}
222
} else {
223
if (!memory_region_init_ram(igvm_pages, NULL, region_name, size,
224
errp)) {
225
+ g_free(igvm_pages);
226
return NULL;
227
}
228
}