From: Jan Beulich Date: Tue, 20 Oct 2020 12:44:02 +0000 (+0200) Subject: x86/vLAPIC: don't leak regs page from vlapic_init() upon error X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~33^2~27 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e9365151919c3b3ecdde6b43d31ad1e230c3342e;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 master commit: 8a62dee9ceff3056c7e0bd9632bac39bee2a51b3 master date: 2020-10-09 17:20:11 +0100 --- diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c index 7b5c633033..30007a999e 100644 --- a/xen/arch/x86/hvm/vlapic.c +++ b/xen/arch/x86/hvm/vlapic.c @@ -1629,6 +1629,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;