From: Jan Beulich Date: Fri, 2 Oct 2020 10:30:34 +0000 (+0200) Subject: x86/vLAPIC: don't leak regs page from vlapic_init() upon error X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~1524 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8a62dee9ceff3056c7e0bd9632bac39bee2a51b3;p=xen.git x86/vLAPIC: don't leak regs page from vlapic_init() upon error Fixes: 8a981e0bf25e ("Make map_domain_page_global fail") Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c index 4e3861eb7d..59660a8af4 100644 --- a/xen/arch/x86/hvm/vlapic.c +++ b/xen/arch/x86/hvm/vlapic.c @@ -1625,6 +1625,7 @@ int vlapic_init(struct vcpu *v) vlapic->regs = __map_domain_page_global(vlapic->regs_page); if ( vlapic->regs == NULL ) { + free_domheap_page(vlapic->regs_page); dprintk(XENLOG_ERR, "map vlapic regs error: %d/%d\n", v->domain->domain_id, v->vcpu_id); return -ENOMEM;