CVE-2024-50093: thermal: intel: int340x: processor: Fix warning during module unload
In the Linux kernel, the following vulnerability has been resolved:
thermal: intel: int340x: processor: Fix warning during module unload
The processorthermal driver uses pcimdeviceenable() to enable a PCI device, which means the device will be automatically disabled on driver detach. Thus there is no need to call pcidisabledevice() again on it.
With recent PCI device resource management improvements, e.g. commit f748a07a0b64 ("PCI: Remove legacy pcimrelease()"), this problem is exposed and triggers the warining below.
[ 224.010735] procthermalpci 0000:00:04.0: disabling already-disabled device [ 224.010747] WARNING: CPU: 8 PID: 4442 at drivers/pci/pci.c:2250 pcidisabledevice+0xe5/0x100 ... [ 224.010844] Call Trace: [ 224.010845] <TASK> [ 224.010847] ? showregs+0x6d/0x80 [ 224.010851] ? warn+0x8c/0x140 [ 224.010854] ? pcidisabledevice+0xe5/0x100 [ 224.010856] ? reportbug+0x1c9/0x1e0 [ 224.010859] ? handlebug+0x46/0x80 [ 224.010862] ? excinvalidop+0x1d/0x80 [ 224.010863] ? asmexcinvalidop+0x1f/0x30 [ 224.010867] ? pcidisabledevice+0xe5/0x100 [ 224.010869] ? pcidisabledevice+0xe5/0x100 [ 224.010871] ? kfree+0x21a/0x2b0 [ 224.010873] pcimdisabledevice+0x20/0x30 [ 224.010875] devmactionrelease+0x16/0x20 [ 224.010878] releasenodes+0x47/0xc0 [ 224.010880] devresreleaseall+0x9f/0xe0 [ 224.010883] deviceunbindcleanup+0x12/0x80 [ 224.010885] devicereleasedriverinternal+0x1ca/0x210 [ 224.010887] driverdetach+0x4e/0xa0 [ 224.010889] busremovedriver+0x6f/0xf0 [ 224.010890] driverunregister+0x35/0x60 [ 224.010892] pciunregisterdriver+0x44/0x90 [ 224.010894] procthermalpcidriverexit+0x14/0x5f0 [processorthermaldevicepci] ... [ 224.010921] ---[ end trace 0000000000000000 ]---
Remove the excess pcidisabledevice() calls.
[ rjw: Subject and changelog edits ]
Other sources
In the Linux kernel, the following vulnerability has been resolved:
thermal: intel: int340x: processor: Fix warning during module unload
The processorthermal driver uses pcimdeviceenable() to enable a PCI device, which means the device will be automatically disabled on driver detach. Thus there is no need to call pcidisabledevice() again on it.
With recent PCI device resource management improvements, e.g. commit f748a07a0b64 ("PCI: Remove legacy pcimrelease()"), this problem is exposed and triggers the warining below.
[ 224.010735] procthermalpci 0000:00:04.0: disabling already-disabled device [ 224.010747] WARNING: CPU: 8 PID: 4442 at drivers/pci/pci.c:2250 pcidisabledevice+0xe5/0x100 ... [ 224.010844] Call Trace: [ 224.010845] <TASK> [ 224.010847] ? showregs+0x6d/0x80 [ 224.010851] ? warn+0x8c/0x140 [ 224.010854] ? pcidisabledevice+0xe5/0x100 [ 224.010856] ? reportbug+0x1c9/0x1e0 [ 224.010859] ? handlebug+0x46/0x80 [ 224.010862] ? excinvalidop+0x1d/0x80 [ 224.010863] ? asmexcinvalidop+0x1f/0x30 [ 224.010867] ? pcidisabledevice+0xe5/0x100 [ 224.010869] ? pcidisabledevice+0xe5/0x100 [ 224.010871] ? kfree+0x21a/0x2b0 [ 224.010873] pcimdisabledevice+0x20/0x30 [ 224.010875] devmactionrelease+0x16/0x20 [ 224.010878] releasenodes+0x47/0xc0 [ 224.010880] devresreleaseall+0x9f/0xe0 [ 224.010883] deviceunbindcleanup+0x12/0x80 [ 224.010885] devicereleasedriverinternal+0x1ca/0x210 [ 224.010887] driverdetach+0x4e/0xa0 [ 224.010889] busremovedriver+0x6f/0xf0 [ 224.010890] driverunregister+0x35/0x60 [ 224.010892] pciunregisterdriver+0x44/0x90 [ 224.010894] procthermalpcidriverexit+0x14/0x5f0 [processorthermaldevicepci] ... [ 224.010921] ---[ end trace 0000000000000000 ]---
Remove the excess pcidisabledevice() calls.
[ rjw: Subject and changelog edits ]
— NVD
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-50093?
CVE-2024-50093 has a severity rating that generally warrants attention due to the potential for system instability during driver operations.
How do I fix CVE-2024-50093?
To fix CVE-2024-50093, update your Linux kernel to a version that is patched, such as versions 5.10.223-1, 6.1.123-1, or later.
Which Linux kernel versions are affected by CVE-2024-50093?
CVE-2024-50093 affects Linux kernel versions between 5.14 and 5.15.168, 5.16 and 6.1.113, 6.2 and 6.6.57, and several others up to 6.12-rc2.
What components are directly impacted by CVE-2024-50093?
The vulnerability specifically impacts the processor_thermal driver within the Linux kernel.
Is CVE-2024-50093 related to PCI device management?
Yes, CVE-2024-50093 is related to how the processor_thermal driver manages PCI device enablement during module unload.