mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
Fix leak of allocated security label
If a VM fails to start, we can't simply free the security label strings, we must call the domainReleaseSecurityLabel() method otherwise the reserved 'mcs' level will be leaked in SElinux * src/qemu/qemu_driver.c: Invoke domainReleaseSecurityLabel() when domain fails to start
This commit is contained in:
parent
0c0e0d0263
commit
9c48360b1a
@ -2985,11 +2985,9 @@ cleanup:
|
||||
/* We jump here if we failed to start the VM for any reason
|
||||
* XXX investigate if we can kill this block and safely call
|
||||
* qemudShutdownVMDaemon even though no PID is running */
|
||||
if (vm->def->seclabel.type == VIR_DOMAIN_SECLABEL_DYNAMIC) {
|
||||
VIR_FREE(vm->def->seclabel.model);
|
||||
VIR_FREE(vm->def->seclabel.label);
|
||||
VIR_FREE(vm->def->seclabel.imagelabel);
|
||||
}
|
||||
if (driver->securityDriver &&
|
||||
driver->securityDriver->domainReleaseSecurityLabel)
|
||||
driver->securityDriver->domainReleaseSecurityLabel(conn, vm);
|
||||
qemuRemoveCgroup(conn, driver, vm, 0);
|
||||
if ((vm->def->ngraphics == 1) &&
|
||||
vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user