CVE-2024-49927
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/10/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
x86/ioapic: Handle allocation failures gracefully<br />
<br />
Breno observed panics when using failslab under certain conditions during<br />
runtime:<br />
<br />
can not alloc irq_pin_list (-1,0,20)<br />
Kernel panic - not syncing: IO-APIC: failed to add irq-pin. Can not proceed<br />
<br />
panic+0x4e9/0x590<br />
mp_irqdomain_alloc+0x9ab/0xa80<br />
irq_domain_alloc_irqs_locked+0x25d/0x8d0<br />
__irq_domain_alloc_irqs+0x80/0x110<br />
mp_map_pin_to_irq+0x645/0x890<br />
acpi_register_gsi_ioapic+0xe6/0x150<br />
hpet_open+0x313/0x480<br />
<br />
That&#39;s a pointless panic which is a leftover of the historic IO/APIC code<br />
which panic&#39;ed during early boot when the interrupt allocation failed.<br />
<br />
The only place which might justify panic is the PIT/HPET timer_check() code<br />
which tries to figure out whether the timer interrupt is delivered through<br />
the IO/APIC. But that code does not require to handle interrupt allocation<br />
failures. If the interrupt cannot be allocated then timer delivery fails<br />
and it either panics due to that or falls back to legacy mode.<br />
<br />
Cure this by removing the panic wrapper around __add_pin_to_irq_node() and<br />
making mp_irqdomain_alloc() aware of the failure condition and handle it as<br />
any other failure in this function gracefully.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.168 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.113 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.55 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.14 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.11 (including) | 6.11.3 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/077e1b7cd521163ded545987bbbd389519aeed71
- https://git.kernel.org/stable/c/649a5c2ffae797ce792023a70e84c7fe4b6fb8e0
- https://git.kernel.org/stable/c/830802a0fea8fb39d3dc9fb7d6b5581e1343eb1f
- https://git.kernel.org/stable/c/e479cb835feeb2abff97f25766e23b96a6eabe28
- https://git.kernel.org/stable/c/ec862cd843faa6f0e84a7a07362f2786446bf697
- https://git.kernel.org/stable/c/f17efbeb2922327ea01a9efa8829fea9a30e547d
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html



