@samitouri / QOSamiQemu / commits / 5df493476f

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 }