In the Linux kernel, the following vulnerability has been resolved: PCI: pnv_php: Fix surprise plug detection and recovery The existing PowerNV hotplug code did not handle surprise plug events correctly, leading to a complete failure of the hotplug system after device removal and a required reboot to detect new devices. This comes down to two issues: 1) When a device is surprise removed, often the bridge upstream port will cause a PE freeze on the PHB. If this freeze is not cleared, the MSI interrupts from the bridge hotplug notification logic will not be received by the kernel, stalling all plug events on all slots associated with the PE. 2) When a device is removed from a slot, regardless of surprise or programmatic removal, the associated PHB/PE ls left frozen. If this freeze is not cleared via a fundamental reset, skiboot is unable to clear the freeze and cannot retrain / rescan the slot. This also requires a reboot to clear the freeze and redetect the device in the slot. Issue the appropriate unfreeze and rescan commands on hotplug events, and don't oops on hotplug if pci_bus_to_OF_node() returns NULL. [bhelgaas: tidy comments]
Version | Base score | Base severity | Vector |
---|
Hyperlink | Resource Type |
---|
In the Linux kernel, the following vulnerability has been resolved: PCI: pnv_php: Fix surprise plug detection and recovery The existing PowerNV hotplug code did not handle surprise plug events correctly, leading to a complete failure of the hotplug system after device removal and a required reboot to detect new devices. This comes down to two issues: 1) When a device is surprise removed, often the bridge upstream port will cause a PE freeze on the PHB. If this freeze is not cleared, the MSI interrupts from the bridge hotplug notification logic will not be received by the kernel, stalling all plug events on all slots associated with the PE. 2) When a device is removed from a slot, regardless of surprise or programmatic removal, the associated PHB/PE ls left frozen. If this freeze is not cleared via a fundamental reset, skiboot is unable to clear the freeze and cannot retrain / rescan the slot. This also requires a reboot to clear the freeze and redetect the device in the slot. Issue the appropriate unfreeze and rescan commands on hotplug events, and don't oops on hotplug if pci_bus_to_OF_node() returns NULL. [bhelgaas: tidy comments]
Version | Base score | Base severity | Vector |
---|
CAPEC ID | Description |
---|
Event | Date |
---|
In the Linux kernel, the following vulnerability has been resolved: PCI: pnv_php: Fix surprise plug detection and recovery The existing PowerNV hotplug code did not handle surprise plug events correctly, leading to a complete failure of the hotplug system after device removal and a required reboot to detect new devices. This comes down to two issues: 1) When a device is surprise removed, often the bridge upstream port will cause a PE freeze on the PHB. If this freeze is not cleared, the MSI interrupts from the bridge hotplug notification logic will not be received by the kernel, stalling all plug events on all slots associated with the PE. 2) When a device is removed from a slot, regardless of surprise or programmatic removal, the associated PHB/PE ls left frozen. If this freeze is not cleared via a fundamental reset, skiboot is unable to clear the freeze and cannot retrain / rescan the slot. This also requires a reboot to clear the freeze and redetect the device in the slot. Issue the appropriate unfreeze and rescan commands on hotplug events, and don't oops on hotplug if pci_bus_to_OF_node() returns NULL. [bhelgaas: tidy comments]
Date Added | Due Date | Vulnerability Name | Required Action |
---|---|---|---|
N/A |
Type | Version | Base score | Base severity | Vector |
---|
Hyperlink | Source | Resource |
---|---|---|
https://git.kernel.org/stable/c/1d2f63680c5719a5da92639e981c6c9a87fcee08 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | N/A |
https://git.kernel.org/stable/c/473999ba937eac9776be791deed7c84a21d7880b | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | N/A |
https://git.kernel.org/stable/c/48c6935a34981bb56f35be0774ec1f30c6e386f8 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | N/A |
https://git.kernel.org/stable/c/6e7b24c71e530a6c1d656e73d8a30ee081656844 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | N/A |
https://git.kernel.org/stable/c/78d20b8c13075eae3d884c21db7a09a6bbdda5b2 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | N/A |
https://git.kernel.org/stable/c/a2a2a6fc2469524caa713036297c542746d148dc | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | N/A |