From: Praveen K Paladugu <[email protected]>

Conditionally add /dev/mshv device to acl while launching
hyperv domains.

Signed-off-by: Praveen K Paladugu <[email protected]>
---
 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

Reply via email to