CVE-2021-47424: i40e: Fix freeing of uninitialized misc IRQ vector
In the Linux kernel, the following vulnerability has been resolved:
i40e: Fix freeing of uninitialized misc IRQ vector
When VSI set up failed in i40e_probe() as part of PF switch set up
driver was trying to free misc IRQ vectors in
i40e_clear_interrupt_scheme and produced a kernel Oops:
Trying to free already-free IRQ 266
WARNING: CPU: 0 PID: 5 at kernel/irq/manage.c:1731 __free_irq+0x9a/0x300
Workqueue: events work_for_cpu_fn
RIP: 0010:__free_irq+0x9a/0x300
Call Trace:
? synchronize_irq+0x3a/0xa0
free_irq+0x2e/0x60
i40e_clear_interrupt_scheme+0x53/0x190 [i40e]
i40e_probe.part.108+0x134b/0x1a40 [i40e]
? kmem_cache_alloc+0x158/0x1c0
? acpi_ut_update_ref_count.part.1+0x8e/0x345
? acpi_ut_update_object_reference+0x15e/0x1e2
? strstr+0x21/0x70
? irq_get_irq_data+0xa/0x20
? mp_check_pin_attr+0x13/0xc0
? irq_get_irq_data+0xa/0x20
? mp_map_pin_to_irq+0xd3/0x2f0
? acpi_register_gsi_ioapic+0x93/0x170
? pci_conf1_read+0xa4/0x100
? pci_bus_read_config_word+0x49/0x70
? do_pci_enable_device+0xcc/0x100
local_pci_probe+0x41/0x90
work_for_cpu_fn+0x16/0x20
process_one_work+0x1a7/0x360
worker_thread+0x1cf/0x390
? create_worker+0x1a0/0x1a0
kthread+0x112/0x130
? kthread_flush_work_fn+0x10/0x10
ret_from_fork+0x1f/0x40
The problem is that at that point misc IRQ vectors
were not allocated yet and we get a call trace
that driver is trying to free already free IRQ vectors.
Add a check in i40e_clear_interrupt_scheme for __I40E_MISC_IRQ_REQUESTED
PF state before calling i40e_free_misc_vector. This state is set only if
misc IRQ vectors were properly initialized.
Security readout for executives and security teams
Plain-English summary
CVE-2021-47424 is a Linux kernel i40e driver bug that can trigger a kernel Oops during network driver setup failure. It is a reliability issue in cleanup logic, not a documented remote compromise. The available sources do not provide CVSS, CWE, or active exploitation evidence.
Executive priority
Treat this as a routine kernel reliability remediation unless affected i40e systems are business-critical. There is no source-backed evidence of exploitation, but kernel Oops conditions on network infrastructure can still create operational disruption.
Technical view
During i40e_probe(), if VSI setup fails before misc IRQ vectors are allocated, i40e_clear_interrupt_scheme() may try to free an IRQ vector that was never requested. The fix gates i40e_free_misc_vector() on the __I40E_MISC_IRQ_REQUESTED PF state, which is only set after successful misc IRQ initialization.
Likely exposure
Exposure is limited to Linux systems running affected kernels with the i40e driver involved in PF setup. The source lists Linux 4.15, 4.19.211, 5.4.153, 5.10.73, 5.14.12, and 5.15 as affected, but distribution backports may differ.
Exploitation context
The source describes a kernel Oops when driver initialization fails and then cleanup frees an already-free IRQ. There is no KEV listing and no cited source showing active exploitation, public weaponization, or remote attackability.
Researcher notes
The core condition is an error path mismatch: cleanup runs before misc IRQ allocation state is valid. Focus review on whether kernels contain the __I40E_MISC_IRQ_REQUESTED check before freeing the misc vector. Evidence is incomplete for severity scoring and exploitability.
Mitigation direction
Update to a vendor-supported kernel containing the referenced stable fixes.
Check Linux distribution advisories for the correct backported package.
Prioritize systems using the i40e driver in production network paths.
Avoid direct kernel source assumptions when using distribution kernels.
Validation and detection
Inventory running kernel versions and whether the i40e driver is present.
Confirm the vendor kernel includes the referenced stable commit or equivalent guard.
Review kernel logs for i40e probe failures or IRQ free warnings.
Validate updates first on representative systems using the same driver.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2021-47424 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.