CVE-2025-38624

PCI: pnv_php: Clean up allocated IRQs on unplug

MEDIUM
5.5
CVSS Score
Published: August 22, 2025 at 04:00 PM UTC
Updated: June 17, 2026 at 09:17 AM UTC
2 products affected across 2 vendorsLinux KernelDebian Linux

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: PCI: pnv_php: Clean up allocated IRQs on unplug When the root of a nested PCIe bridge configuration is unplugged, the pnv_php driver leaked the allocated IRQ resources for the child bridges' hotplug event notifications, resulting in a panic. Fix this by walking all child buses and deallocating all its IRQ resources before calling pci_hp_remove_devices(). Also modify the lifetime of the workqueue at struct pnv_php_slot::wq so that it is only destroyed in pnv_php_free_slot(), instead of pnv_php_disable_irq(). This is required since pnv_php_disable_irq() will now be called by workers triggered by hot unplug interrupts, so the workqueue needs to stay allocated. The abridged kernel panic that occurs without this patch is as follows: WARNING: CPU: 0 PID: 687 at kernel/irq/msi.c:292 msi_device_data_release+0x6c/0x9c CPU: 0 UID: 0 PID: 687 Comm: bash Not tainted 6.14.0-rc5+ #2 Call Trace: msi_device_data_release+0x34/0x9c (unreliable) release_nodes+0x64/0x13c devres_release_all+0xc0/0x140 device_del+0x2d4/0x46c pci_destroy_dev+0x5c/0x194 pci_hp_remove_devices+0x90/0x128 pci_hp_remove_devices+0x44/0x128 pnv_php_disable_slot+0x54/0xd4 power_write_file+0xf8/0x18c pci_slot_attr_store+0x40/0x5c sysfs_kf_write+0x64/0x78 kernfs_fop_write_iter+0x1b0/0x290 vfs_write+0x3bc/0x50c ksys_write+0x84/0x140 system_call_exception+0x124/0x230 system_call_vectored_common+0x15c/0x2ec [bhelgaas: tidy comments]

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.9 ≤ v < 5.10.2414.9 ≤ v < 5.15.1904.9 ≤ v < 6.1.1484.9 ≤ v < 6.12.424.9 ≤ v < 6.15.104.9 ≤ v < 6.16.14.9 ≤ v < 6.174.9 ≤ v < 6.6.1025.11 ≤ v < 5.15.1905.16 ≤ v < 6.1.1486.13 ≤ v < 6.15.106.16 ≤ v < 6.16.16.2 ≤ v < 6.6.1026.7 ≤ v < 6.12.42360aebd85a4c946764f6301d68de2a817fad51594.9
Vendor states this is fixed in 1773c19fa55e944cdd2634e2d9e552f87f2d38d5 (fixed)
Vendor states this is fixed in 28aa3cfce12487614219e7667ec84424e1f43227 (fixed)
Vendor states this is fixed in 32173edf3fe2d447e14e5e3b299387c6f9602a88 (fixed)
Vendor states this is fixed in 398170b7fd0e0db2f8096df5206c75e5ff41415a (fixed)
Vendor states this is fixed in 4668619092554e1b95c9a5ac2941ca47ba6d548a (fixed)
Vendor states this is fixed in 8c1ad4af160691e157d688ad9619ced2df556aac (fixed)
Vendor states this is fixed in 912e200240b6f9758f0b126e64a61c9227f4ad37 (fixed)
Vendor states this is fixed in bbd302c4b79df10197ffa7270ca3aa572eeca33c (fixed)
Vendor states this is fixed in 4.9 (unaffected)
Vendor states this is fixed in 5.10.241 (unaffected)
Vendor states this is fixed in 5.15.190 (unaffected)
Vendor states this is fixed in 6.1.148 (unaffected)
Vendor states this is fixed in 6.12.42 (unaffected)
Vendor states this is fixed in 6.15.10 (unaffected)
Vendor states this is fixed in 6.16.1 (unaffected)
Vendor states this is fixed in 6.17 (unaffected)
Vendor states this is fixed in 6.6.102 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1773c19fa55e944cdd2634e2d9e552f87f2d38d5
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/28aa3cfce12487614219e7667ec84424e1f43227
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/32173edf3fe2d447e14e5e3b299387c6f9602a88
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/398170b7fd0e0db2f8096df5206c75e5ff41415a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4668619092554e1b95c9a5ac2941ca47ba6d548a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/8c1ad4af160691e157d688ad9619ced2df556aac
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/912e200240b6f9758f0b126e64a61c9227f4ad37
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/bbd302c4b79df10197ffa7270ca3aa572eeca33c

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card