CVE-2024-49927

Source
https://cve.org/CVERecord?id=CVE-2024-49927
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49927.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-49927
Downstream
Related
Published
2024-10-21T18:01:51.110Z
Modified
2026-03-09T23:55:03.492793Z
Summary
x86/ioapic: Handle allocation failures gracefully
Details

In the Linux kernel, the following vulnerability has been resolved:

x86/ioapic: Handle allocation failures gracefully

Breno observed panics when using failslab under certain conditions during runtime:

can not alloc irqpinlist (-1,0,20) Kernel panic - not syncing: IO-APIC: failed to add irq-pin. Can not proceed

panic+0x4e9/0x590 mpirqdomainalloc+0x9ab/0xa80 irqdomainallocirqslocked+0x25d/0x8d0 _irqdomainallocirqs+0x80/0x110 mpmappintoirq+0x645/0x890 acpiregistergsiioapic+0xe6/0x150 hpetopen+0x313/0x480

That's a pointless panic which is a leftover of the historic IO/APIC code which panic'ed during early boot when the interrupt allocation failed.

The only place which might justify panic is the PIT/HPET timer_check() code which tries to figure out whether the timer interrupt is delivered through the IO/APIC. But that code does not require to handle interrupt allocation failures. If the interrupt cannot be allocated then timer delivery fails and it either panics due to that or falls back to legacy mode.

Cure this by removing the panic wrapper around __addpintoirqnode() and making mpirqdomainalloc() aware of the failure condition and handle it as any other failure in this function gracefully.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/49xxx/CVE-2024-49927.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
49c7e60022912d10da88ba67e8eb2927f1143f6a
Fixed
e479cb835feeb2abff97f25766e23b96a6eabe28
Fixed
ec862cd843faa6f0e84a7a07362f2786446bf697
Fixed
077e1b7cd521163ded545987bbbd389519aeed71
Fixed
649a5c2ffae797ce792023a70e84c7fe4b6fb8e0
Fixed
f17efbeb2922327ea01a9efa8829fea9a30e547d
Fixed
830802a0fea8fb39d3dc9fb7d6b5581e1343eb1f

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49927.json"