CVE-2024-42290

Source
https://cve.org/CVERecord?id=CVE-2024-42290
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-42290.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-42290
Downstream
Related
Published
2024-08-17T09:08:59.848Z
Modified
2026-06-18T03:54:47.351524410Z
Summary
irqchip/imx-irqsteer: Handle runtime power management correctly
Details

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

irqchip/imx-irqsteer: Handle runtime power management correctly

The power domain is automatically activated from clk_prepare(). However, on certain platforms like i.MX8QM and i.MX8QXP, the power-on handling invokes sleeping functions, which triggers the 'scheduling while atomic' bug in the context switch path during device probing:

BUG: scheduling while atomic: kworker/u13:1/48/0x00000002 Call trace: __schedule_bug+0x54/0x6c __schedule+0x7f0/0xa94 schedule+0x5c/0xc4 schedulepreemptdisabled+0x24/0x40 __mutex_lock.constprop.0+0x2c0/0x540 __mutexlockslowpath+0x14/0x20 mutexlock+0x48/0x54 clkpreparelock+0x44/0xa0 clkprepare+0x20/0x44 imxirqsteerresume+0x28/0xe0 pmgenericruntime_resume+0x2c/0x44 __genpdruntimeresume+0x30/0x80 genpdruntimeresume+0xc8/0x2c0 __rpmcallback+0x48/0x1d8 rpmcallback+0x6c/0x78 rpm_resume+0x490/0x6b4 __pmruntimeresume+0x50/0x94 irq_chippmget+0x2c/0xa0 __irqdosethandler+0x178/0x24c irqsetchainedhandleranddata+0x60/0xa4 mxcgpioprobe+0x160/0x4b0

Cure this by implementing the irqbuslock/sync_unlock() interrupt chip callbacks and handle power management in them as they are invoked from non-atomic context.

[ tglx: Rewrote change log, added Fixes tag ]

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/42xxx/CVE-2024-42290.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
0136afa08967f6e160b9b4e85a7a70e4180a8333
Fixed
a590e8dea3df2639921f874d763be961dd74e8f9
Fixed
3a2884a44e5cda192df1b28e9925661f79f599a1
Fixed
fa1803401e1c360efe6342fb41d161cc51748a11
Fixed
58c56735facb225a5c46fa4b8bbbe7f31d1cb894
Fixed
21bd3f9e7f924cd2fc892a484e7a50c7e1847565
Fixed
f8ae38f1dfe652779c7c613facbc257cec00ac44
Fixed
33b1c47d1fc0b5f06a393bb915db85baacba18ea

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.0.0
Fixed
5.4.282
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.224
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.165
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.103
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.44
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.3

Database specific

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