Lucene search

K
ubuntucveUbuntu.comUB:CVE-2021-47617
HistoryJun 20, 2024 - 12:00 a.m.

CVE-2021-47617

2024-06-2000:00:00
ubuntu.com
ubuntu.com
9
linux kernel
pciehp
infinite loop

AI Score

6.5

Confidence

High

EPSS

0

Percentile

5.1%

In the Linux kernel, the following vulnerability has been resolved: PCI:
pciehp: Fix infinite loop in IRQ handler upon power fault The Power Fault
Detected bit in the Slot Status register differs from all other hotplug
events in that it is sticky: It can only be cleared after turning off slot
power. Per PCIe r5.0, sec. 6.7.1.8: If a power controller detects a main
power fault on the hot-plug slot, it must automatically set its internal
main power fault latch […]. The main power fault latch is cleared when
software turns off power to the hot-plug slot. The stickiness used to cause
interrupt storms and infinite loops which were fixed in 2009 by commits
5651c48cfafe (“PCI pciehp: fix power fault interrupt storm problem”) and
99f0169c17f3 (“PCI: pciehp: enable software notification on empty slots”).
Unfortunately in 2020 the infinite loop issue was inadvertently
reintroduced by commit 8edf5332c393 (“PCI: pciehp: Fix MSI interrupt
race”): The hardirq handler pciehp_isr() clears the PFD bit until pciehp’s
power_fault_detected flag is set. That happens in the IRQ thread
pciehp_ist(), which never learns of the event because the hardirq handler
is stuck in an infinite loop. Fix by setting the power_fault_detected flag
already in the hardirq handler.

AI Score

6.5

Confidence

High

EPSS

0

Percentile

5.1%