From: Greg Zuro Date: Wed, 27 Oct 2021 04:02:37 +0000 (-0700) Subject: change indicator used for later versions of VirtualBox (#21127) X-Git-Tag: v250-rc1~416 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cfee6b955154c30be31ffcf0e3b7b89374a52fff;p=thirdparty%2Fsystemd.git change indicator used for later versions of VirtualBox (#21127) Detection of VirtualBox is accomplished in the existing code by *either* `innotek GmbH` or `Oracle Corporation` existing in any of: - /sys/class/dmi/id/product_name - /sys/class/dmi/id/sys_vendor - /sys/class/dmi/id/board_vendor - /sys/class/dmi/id/bios_vendor With Oracle's physical servers, both `/sys/class/dmi/id/sys_vendor` and `/sys/class/dmi/id/board_vendor` contain `Oracle Corporation`, so those servers are detected as `oracle` (VirtualBox). VirtualBox has the following values in the latest versions: - /sys/class/dmi/id/product_name: `VirtualBox` - /sys/class/dmi/id/sys_vendor: `innotek GmbH` - /sys/class/dmi/id/board_vendor: `Oracle Corporation` - /sys/class/dmi/id/bios_vendor: `innotek GmbH` Presumably the existing check for `innotek GmbH` is meant to detect older versions of VirtualBox, while changing the second checked value from `Oracle Corporation` to `VirtualBox` will reliably detect later and future versions. --- diff --git a/src/basic/virt.c b/src/basic/virt.c index 64581ad2e10..4e1cbf5b666 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -159,7 +159,7 @@ static int detect_vm_dmi_vendor(void) { { "VMware", VIRTUALIZATION_VMWARE }, /* https://kb.vmware.com/s/article/1009458 */ { "VMW", VIRTUALIZATION_VMWARE }, { "innotek GmbH", VIRTUALIZATION_ORACLE }, - { "Oracle Corporation", VIRTUALIZATION_ORACLE }, + { "VirtualBox", VIRTUALIZATION_ORACLE }, { "Xen", VIRTUALIZATION_XEN }, { "Bochs", VIRTUALIZATION_BOCHS }, { "Parallels", VIRTUALIZATION_PARALLELS },