mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-27 07:22:07 +03:00
storage: fix scsi detach regression with cgroup ACLs
https://bugzilla.redhat.com/show_bug.cgi?id=876828 Commit38c4a9cc
introduced a regression in hot unplugging of disks from qemu, where cgroup device ACLs were no longer being revoked (thankfully not a security hole: cgroup ACLs only prevent open() of the disk; so reverting the ACL prevents future abuse but doesn't stop abuse from an fd that was already opened before the ACL change). Commit1b2ebf95
overlooked that there were two spots affected. * src/qemu/qemu_hotplug.c (qemuDomainDetachDiskDevice): Transfer backing chain before deletion. * src/qemu/qemu_driver.c (qemuDomainDetachDeviceDiskLive): Fix spacing (partly to ensure a different-looking patch).
This commit is contained in:
parent
4f9af0857c
commit
ddd103d342
@ -6070,7 +6070,7 @@ qemuDomainDetachDeviceDiskLive(virQEMUDriverPtr driver,
|
||||
if (disk->bus == VIR_DOMAIN_DISK_BUS_VIRTIO)
|
||||
ret = qemuDomainDetachPciDiskDevice(driver, vm, dev);
|
||||
else if (disk->bus == VIR_DOMAIN_DISK_BUS_SCSI)
|
||||
ret = qemuDomainDetachDiskDevice(driver, vm, dev);
|
||||
ret = qemuDomainDetachDiskDevice(driver, vm, dev);
|
||||
else if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_USB)
|
||||
ret = qemuDomainDetachDiskDevice(driver, vm, dev);
|
||||
else
|
||||
|
@ -2091,6 +2091,8 @@ int qemuDomainDetachDiskDevice(virQEMUDriverPtr driver,
|
||||
|
||||
virDomainDiskRemove(vm->def, i);
|
||||
|
||||
dev->data.disk->backingChain = detach->backingChain;
|
||||
detach->backingChain = NULL;
|
||||
virDomainDiskDefFree(detach);
|
||||
|
||||
if (virSecurityManagerRestoreImageLabel(driver->securityManager,
|
||||
|
Loading…
Reference in New Issue
Block a user