From: Praveen K Paladugu <prapal@linux.microsoft.com>
Conditionally add /dev/mshv device to acl while launching
hyperv domains.
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com>
---
src/qemu/qemu_cgroup.c | 6 ++++++
src/qemu/qemu_namespace.c | 2 ++
2 files changed, 8 insertions(+)
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 46a7dc1d8b..7dadef0739 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -788,6 +788,12 @@ qemuSetupDevicesCgroup(virDomainObj *vm)
false) < 0)
return -1;
}
+ if (vm->def->virtType == VIR_DOMAIN_VIRT_HYPERV) {
+ /* HYPERV domains require access to /dev/mshv */
+ if (qemuCgroupAllowDevicePath(vm, "/dev/mshv", VIR_CGROUP_DEVICE_RW,
+ false) < 0)
+ return -1;
+ }
if (qemuSetupFirmwareCgroup(vm) < 0)
return -1;
diff --git a/src/qemu/qemu_namespace.c b/src/qemu/qemu_namespace.c
index 932777505b..c689cc3e40 100644
--- a/src/qemu/qemu_namespace.c
+++ b/src/qemu/qemu_namespace.c
@@ -221,6 +221,8 @@ qemuDomainPopulateDevices(virQEMUDriverConfig *cfg,
if (vm->def->virtType == VIR_DOMAIN_VIRT_KVM) {
*paths = g_slist_prepend(*paths, g_strdup(QEMU_DEV_KVM));
+ } else if (vm->def->virtType == VIR_DOMAIN_VIRT_HYPERV) {
+ *paths = g_slist_prepend(*paths, g_strdup("/dev/mshv"));
}
}
--
2.51.0