CVE-2024-42290: irqchip/imx-irqsteer: Handle runtime power management correctly

Published Aug 17, 2024
·
Updated

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 clkprepare(). 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: schedulebug+0x54/0x6c schedule+0x7f0/0xa94 schedule+0x5c/0xc4 schedulepreemptdisabled+0x24/0x40 mutexlock.constprop.0+0x2c0/0x540 mutexlockslowpath+0x14/0x20 mutexlock+0x48/0x54 clkpreparelock+0x44/0xa0 clkprepare+0x20/0x44 imxirqsteerresume+0x28/0xe0 pmgenericruntimeresume+0x2c/0x44 genpdruntimeresume+0x30/0x80 genpdruntimeresume+0xc8/0x2c0 rpmcallback+0x48/0x1d8 rpmcallback+0x6c/0x78 rpmresume+0x490/0x6b4 pmruntimeresume+0x50/0x94 irqchippmget+0x2c/0xa0 irqdosethandler+0x178/0x24c irqsetchainedhandleranddata+0x60/0xa4 mxcgpioprobe+0x160/0x4b0

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

[ tglx: Rewrote change log, added Fixes tag ]

Affected Software

10 affected componentsFixes available
Linux Linux kernel>=5.0<5.4.282
Linux Linux kernel>=5.5<5.10.224
Linux Linux kernel>=5.11<5.15.165
Linux Linux kernel>=5.16<6.1.103
Linux Linux kernel>=6.2<6.6.44
Linux Linux kernel>=6.7<6.10.3
debian/linux<6.1.106-1
6.1.106-1
debian/linux<6.10.3-1
6.10.3-1
debian/linux<6.10.3-1
6.10.3-1
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
  2. Upgrade

    Upgrade debian/linux-6.1 to a version that resolves this vulnerability.

    Fixed in 6.1.129-1~deb11u1
  3. Compensating control

    For the Linux kernel irqchip/imx-irqsteer component, implement the irq_bus_lock and irq_bus_sync_unlock interrupt-chip callbacks, and handle runtime power management within those callbacks so power-on operations that invoke sleeping functions run from non-atomic context.

Event History

Aug 17, 2024
CVE Published
via MITRE·09:08 AM
Data Sourced
via MITRE·09:08 AM
Description
Data Sourced
via NVD·09:15 AM
RemedyDescriptionSeverityAffected Software
Data Sourced
via OSV·09:15 AM
DescriptionSeverityAffected Software

Peer vulnerabilities

Found alongside the following vulnerabilities.

Frequently Asked Questions

1

What is the severity of CVE-2024-42290?

CVE-2024-42290 has been classified with a significant severity level due to its impact on runtime power management in the Linux kernel.

2

How do I fix CVE-2024-42290?

To fix CVE-2024-42290, update your Linux kernel to versions 5.10.226-1, 6.1.123-1, 6.1.119-1, 6.12.11-1, 6.12.12-1 or the patched version of linux-6.1.

3

Which software versions are affected by CVE-2024-42290?

CVE-2024-42290 affects Linux kernel versions up to and including 5.10.223-1 and its derivatives.

4

What platforms are affected by CVE-2024-42290?

CVE-2024-42290 specifically affects platforms like i.MX8QM and i.MX8QXP.

5

Is there a known exploit for CVE-2024-42290?

As of now, there are no publicly disclosed exploits for CVE-2024-42290, but it is advisable to patch the vulnerability promptly.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203