2023-09-19 12:56:20 |
Tim Gardner |
bug |
|
|
added bug |
2023-09-19 12:58:10 |
Tim Gardner |
description |
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 */ |
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]
This (incorrect) patch has been in place for 10 years. Its possible that some consumers have come to rely on this VM identifier.
[Other Info]
SF: #00368936 |
|
2023-09-19 13:00:06 |
Ubuntu Kernel Bot |
linux (Ubuntu): status |
New |
Incomplete |
|
2023-09-19 13:46:14 |
Tim Gardner |
nominated for series |
|
Ubuntu Mantic |
|
2023-09-19 13:46:14 |
Tim Gardner |
bug task added |
|
linux (Ubuntu Mantic) |
|
2023-09-19 13:46:14 |
Tim Gardner |
nominated for series |
|
Ubuntu Lunar |
|
2023-09-19 13:46:14 |
Tim Gardner |
bug task added |
|
linux (Ubuntu Lunar) |
|
2023-09-19 13:46:14 |
Tim Gardner |
nominated for series |
|
Ubuntu Focal |
|
2023-09-19 13:46:14 |
Tim Gardner |
bug task added |
|
linux (Ubuntu Focal) |
|
2023-09-19 13:46:14 |
Tim Gardner |
nominated for series |
|
Ubuntu Jammy |
|
2023-09-19 13:46:14 |
Tim Gardner |
bug task added |
|
linux (Ubuntu Jammy) |
|
2023-09-19 16:46:49 |
Tim Gardner |
linux (Ubuntu Focal): importance |
Undecided |
Medium |
|
2023-09-19 16:46:49 |
Tim Gardner |
linux (Ubuntu Focal): status |
New |
In Progress |
|
2023-09-19 16:46:49 |
Tim Gardner |
linux (Ubuntu Focal): assignee |
|
Tim Gardner (timg-tpi) |
|
2023-09-19 16:47:04 |
Tim Gardner |
linux (Ubuntu Jammy): importance |
Undecided |
Medium |
|
2023-09-19 16:47:04 |
Tim Gardner |
linux (Ubuntu Jammy): status |
New |
In Progress |
|
2023-09-19 16:47:04 |
Tim Gardner |
linux (Ubuntu Jammy): assignee |
|
Tim Gardner (timg-tpi) |
|
2023-09-19 16:47:19 |
Tim Gardner |
linux (Ubuntu Lunar): importance |
Undecided |
Medium |
|
2023-09-19 16:47:19 |
Tim Gardner |
linux (Ubuntu Lunar): status |
New |
In Progress |
|
2023-09-19 16:47:19 |
Tim Gardner |
linux (Ubuntu Lunar): assignee |
|
Tim Gardner (timg-tpi) |
|
2023-09-19 16:47:34 |
Tim Gardner |
linux (Ubuntu Mantic): importance |
Undecided |
Medium |
|
2023-09-19 16:47:34 |
Tim Gardner |
linux (Ubuntu Mantic): status |
Incomplete |
In Progress |
|
2023-09-19 16:47:34 |
Tim Gardner |
linux (Ubuntu Mantic): assignee |
|
Tim Gardner (timg-tpi) |
|
2023-09-20 11:50:45 |
Tim Gardner |
linux (Ubuntu Focal): status |
In Progress |
Invalid |
|
2023-09-20 11:50:49 |
Tim Gardner |
linux (Ubuntu Jammy): status |
In Progress |
Invalid |
|
2023-09-20 11:51:17 |
Tim Gardner |
description |
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]
This (incorrect) patch has been in place for 10 years. Its possible that some consumers have come to rely on this VM identifier.
[Other Info]
SF: #00368936 |
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 could be misclassified.
[Other Info]
SF: #00368936 |
|
2023-10-04 08:20:20 |
Tim Burrough |
bug |
|
|
added subscriber Tim Burrough |