title: dmaengine: fsl-qdma: init irq after reg initialization
description: In the Linux kernel, the following vulnerability has been resolved:
dmaengine: fsl-qdma: init irq after reg initialization
Initialize the qDMA irqs after the registers are configured so that
interrupts that may have been pending from a primary kernel don't get
processed by the irq handler before it is ready to and cause panic with
the following trace:
Call trace:
fsl_qdma_queue_handler+0xf8/0x3e8
__handle_irq_event_percpu+0x78/0x2b0
handle_irq_event_percpu+0x1c/0x68
handle_irq_event+0x44/0x78
handle_fasteoi_irq+0xc8/0x178
generic_handle_irq+0x24/0x38
__handle_domain_irq+0x90/0x100
gic_handle_irq+0x5c/0xb8
el1_irq+0xb8/0x180
_raw_spin_unlock_irqrestore+0x14/0x40
__setup_irq+0x4bc/0x798
request_threaded_irq+0xd8/0x190
devm_request_threaded_irq+0x74/0xe8
fsl_qdma_probe+0x4d4/0xca8
platform_drv_probe+0x50/0xa0
really_probe+0xe0/0x3f8
driver_probe_device+0x64/0x130
device_driver_attach+0x6c/0x78
__driver_attach+0xbc/0x158
bus_for_each_dev+0x5c/0x98
driver_attach+0x20/0x28
bus_add_driver+0x158/0x220
driver_register+0x60/0x110
__platform_driver_register+0x44/0x50
fsl_qdma_driver_init+0x18/0x20
do_one_initcall+0x48/0x258
kernel_init_freeable+0x1a4/0x23c
kernel_init+0x10/0xf8
ret_from_fork+0x10/0x18
affected:
{
product: Linux
vendor: Linux
defaultStatus: unaffected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: b092529e0aa0, lessThan: 3cc5fb824c21, status: affected, versionType: git
version: b092529e0aa0, lessThan: 9579a21e99fe, status: affected, versionType: git
version: b092529e0aa0, lessThan: 4529c084a320, status: affected, versionType: git
version: b092529e0aa0, lessThan: 474d521da890, status: affected, versionType: git
version: b092529e0aa0, lessThan: a69c8bbb9469, status: affected, versionType: git
version: b092529e0aa0, lessThan: 677102a93064, status: affected, versionType: git
version: b092529e0aa0, lessThan: 87a39071e0b6, status: affected, versionType: git
}
{
product: Linux
vendor: Linux
defaultStatus: affected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: 5.1, status: affected
version: 0, lessThan: 5.1, status: unaffected, versionType: custom
version: 5.4.271, lessThanOrEqual: 5.4.*, status: unaffected, versionType: custom
version: 5.10.212, lessThanOrEqual: 5.10.*, status: unaffected, versionType: custom
version: 5.15.151, lessThanOrEqual: 5.15.*, status: unaffected, versionType: custom
version: 6.1.81, lessThanOrEqual: 6.1.*, status: unaffected, versionType: custom
version: 6.6.21, lessThanOrEqual: 6.6.*, status: unaffected, versionType: custom
version: 6.7.9, lessThanOrEqual: 6.7.*, status: unaffected, versionType: custom
version: 6.8, lessThanOrEqual: *, status: unaffected, versionType: original_commit_for_fix
}
