[Hyper-V][SAUCE] pci-hyperv: Use only 16 bit integer for PCI domain
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
Yakkety |
Fix Released
|
High
|
Unassigned | ||
Zesty |
Fix Released
|
High
|
Unassigned | ||
Artful |
Fix Released
|
High
|
Unassigned | ||
Cosmic |
Invalid
|
High
|
Marcelo Cerri | ||
linux-azure (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Yakkety |
Invalid
|
Undecided
|
Unassigned | ||
Zesty |
Invalid
|
Undecided
|
Unassigned | ||
Artful |
Invalid
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Marcelo Cerri |
Bug Description
The following patch fixes a problem with "[PATCH] pci-hyperv: Use device serial number as PCI domain" where some drivers were expecting a u16 instead of a u32 for PCI device serial numbers, as observed by Oops and hangs in Azure on NC and NV GPU instances.
From: Haiyang Zhang <email address hidden>
This patch uses the lower 16 bits of the serial number as PCI
domain, otherwise some drivers may not be able to handle it.
Signed-off-by: Haiyang Zhang <email address hidden>
---
drivers/
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/
index e73880c..b18dff3 100644
--- a/drivers/
+++ b/drivers/
@@ -1334,9 +1334,11 @@ static void put_pcichild(struct hv_pci_dev *hpdev,
* can have shorter names than based on the bus instance UUID.
* Only the first device serial number is used for domain, so the
* domain number will not change after the first device is added.
+ * The lower 16 bits of the serial number is used, otherwise some
+ * drivers may not be able to handle it.
*/
if (list_empty(
- hbus->sysdata.
+ hbus->sysdata.
list_
spin_
return hpdev;
--
1.7.1
CVE References
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
tags: | added: kernel-da-key kernel-hyper-v xenial yakkety zesty |
Changed in linux (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Yakkety): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Zesty): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in linux (Ubuntu Yakkety): | |
status: | New → In Progress |
Changed in linux (Ubuntu Zesty): | |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
status: | Confirmed → In Progress |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Xenial): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Yakkety): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Zesty): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
tags: | added: patch |
Changed in linux (Ubuntu Artful): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Yakkety): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Zesty): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Artful): | |
status: | Fix Committed → Fix Released |
Changed in linux (Ubuntu Cosmic): | |
assignee: | nobody → Marcelo Cerri (mhcerri) |
status: | New → In Progress |
importance: | Undecided → High |
Changed in linux (Ubuntu Cosmic): | |
status: | In Progress → Invalid |
Changed in linux-azure (Ubuntu Xenial): | |
status: | New → Invalid |
Changed in linux-azure (Ubuntu Yakkety): | |
status: | New → Invalid |
Changed in linux-azure (Ubuntu Zesty): | |
status: | New → Invalid |
Changed in linux-azure (Ubuntu Artful): | |
status: | New → Invalid |
Changed in linux-azure (Ubuntu Cosmic): | |
status: | New → In Progress |
assignee: | nobody → Marcelo Cerri (mhcerri) |
status: | In Progress → Fix Committed |
tags: | added: cscc |
The patch has been submitted upstream and should apply to 4.4, 4.8, and 4.10