CVE-2022-49118
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/02/2025
Last modified:
26/02/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
scsi: hisi_sas: Free irq vectors in order for v3 HW<br />
<br />
If the driver probe fails to request the channel IRQ or fatal IRQ, the<br />
driver will free the IRQ vectors before freeing the IRQs in free_irq(),<br />
and this will cause a kernel BUG like this:<br />
<br />
------------[ cut here ]------------<br />
kernel BUG at drivers/pci/msi.c:369!<br />
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP<br />
Call trace:<br />
free_msi_irqs+0x118/0x13c<br />
pci_disable_msi+0xfc/0x120<br />
pci_free_irq_vectors+0x24/0x3c<br />
hisi_sas_v3_probe+0x360/0x9d0 [hisi_sas_v3_hw]<br />
local_pci_probe+0x44/0xb0<br />
work_for_cpu_fn+0x20/0x34<br />
process_one_work+0x1d0/0x340<br />
worker_thread+0x2e0/0x460<br />
kthread+0x180/0x190<br />
ret_from_fork+0x10/0x20<br />
---[ end trace b88990335b610c11 ]---<br />
<br />
So we use devm_add_action() to control the order in which we free the<br />
vectors.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/224903cc60d045576393c3b16907742f23e6c740
- https://git.kernel.org/stable/c/554fb72ee34f4732c7f694f56c3c6e67790352a0
- https://git.kernel.org/stable/c/8b6eab9d683bae7f88dc894b8c851f866032301c
- https://git.kernel.org/stable/c/b4cc04fa8f1fc3816c8494d77abab3f72b9d2292
- https://git.kernel.org/stable/c/f05a0d8de2ea49af36821a20b0b501e20ced937e