virt: Fix the detection for Hyper-V VMs
authorBoqun Feng <boqun.feng@gmail.com>
Tue, 23 Nov 2021 07:09:26 +0000 (15:09 +0800)
committerLuca Boccassi <bluca@debian.org>
Sun, 18 Jun 2023 14:55:54 +0000 (15:55 +0100)
Use product_version instead of product_name in DMI table and the string
"Hyper-V" to avoid misdetection.

Fixes: #21468
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
(cherry picked from commit 76eec0649936d9ae2f9087769f463feaf0cf5cb4)

Gbp-Pq: Name virt-Fix-the-detection-for-Hyper-V-VMs.patch

src/basic/virt.c

index 0d45ee67cf7f9bab1685d43b5f983deab3223eca..54befd95c7506b78325a2bb2ebdba4563c1b7a03 100644 (file)
@@ -140,7 +140,8 @@ static int detect_vm_dmi(void) {
                 "/sys/class/dmi/id/product_name", /* Test this before sys_vendor to detect KVM over QEMU */
                 "/sys/class/dmi/id/sys_vendor",
                 "/sys/class/dmi/id/board_vendor",
-                "/sys/class/dmi/id/bios_vendor"
+                "/sys/class/dmi/id/bios_vendor",
+                "/sys/class/dmi/id/product_version" /* For Hyper-V VMs test */
         };
 
         static const struct {
@@ -158,7 +159,7 @@ static int detect_vm_dmi(void) {
                 { "Parallels",           VIRTUALIZATION_PARALLELS },
                 /* https://wiki.freebsd.org/bhyve */
                 { "BHYVE",               VIRTUALIZATION_BHYVE     },
-                { "Microsoft",           VIRTUALIZATION_MICROSOFT },
+                { "Hyper-V",             VIRTUALIZATION_MICROSOFT },
         };
         unsigned i;
         int r;