ACK: [PATCH v4 0/1][l/m linux] UBUNTU: SAUCE: (no-up) hv: Fix supply vendor ID

Manuel Diewald manuel.diewald at canonical.com
Fri Nov 24 10:23:00 UTC 2023


On Wed, Sep 27, 2023 at 06:32:54AM -0600, Tim Gardner wrote:
> BugLink: https://bugs.launchpad.net/bugs/2036600
> 
> v2 - this was actually the original patch submission, but I accidentally included v2 in the subject.
> v3 - reduce the patch to just Lunar and Mantic. It was determined that kernels prior to 6.2 were not subject to this fix.
> v4 - Drop Azure from the patch and cover letter subject
> 
> SRU Justification
> 
> [Impact]
> 
> The linux-azure 6.2 kernel doesn't report a correct GUEST_ID
> 
> There is a mistake in the commit (https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-azure/+git/jammy/commit/?id=5dd24f2df3280d4354641f4687dbb36e418e7de8) :
> 
> Before the commit, the good guest_id is 0x8180000602100000.
> 
> With the commit, the generated guest_id is incorrect: 0x0080000602100000, i.e. the 0x81 from bit 56~63 are dropped.
> 
> See "include/asm-generic/hyperv-tlfs.h" for the definition of the bits:
> * Bit(s)
> * 63 - Indicates if the OS is Open Source or not; 1 is Open Source
> 
> * 62:56 - Os Type; Linux is 0x100 !!!!! Dexuan: this should be 0x1. I'll post a patch to LKML to fix this typo.
> 
> * 55:48 - Distro specific identification
> * 47:16 - Linux kernel version number
> * 15:0 - Distro specific identification
> 
> See https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/tlfs/tlfs ("February, 2020: Released Version 6.0b", page 15)
> 
> As a result, the host thinks that the VM is not an open-source OS, and it's not Linux. Consequently, the "VM Availability" fron Azure portal is 0 (unhealthy): some users rely on the info to manage their VMs, e.g. if the VM is erroneously reported "unhealthy", the VM may be killed and re-created, and the new VM is still "unhealthy", and the VM may be killed and re-created again...
> 
> Please consider integrating the below fix ASAP. This affects regular VMs, and I think this affects CVMs as well.
> 
> The fix should be:
> 
> diff --git a/include/asm-generic/hyperv-tlfs.h b/include/asm-generic/hyperv-tlfs.h
> @@ -135,7 +135,7 @@ union hv_reference_tsc_msr {
> *
> */
> 
> -#define HV_LINUX_VENDOR_ID 0x80 /* Canonical */
> +#define HV_LINUX_VENDOR_ID 0x8180 /* Canonical */
> 
> [Test Plan]
> 
> Microsoft tested
> 
> [Regression Potential]
> 
> VMs may be misclassified.
> 
> [Other Info]
> 
> SF: #00368936
> 
> 
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Acked-by: Manuel Diewald <manuel.diewald at canonical.com>

-- 
 Manuel



More information about the kernel-team mailing list