CVE-2024-56787: soc: imx8m: Probe the SoC driver as platform driver
In the Linux kernel, the following vulnerability has been resolved:
soc: imx8m: Probe the SoC driver as platform driver
With driverasyncprobe= on kernel command line, the following trace is produced because on i.MX8M Plus hardware because the soc-imx8m.c driver calls ofclkgetbyname() which returns -EPROBEDEFER because the clock driver is not yet probed. This was not detected during regular testing without driverasyncprobe.
Convert the SoC code to platform driver and instantiate a platform device in its current deviceinitcall() to probe the platform driver. Rework .socrevision callback to always return valid error code and return SoC revision via parameter. This way, if anything in the .socrevision callback return -EPROBEDEFER, it gets propagated to .probe and the .probe will get retried later.
" ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1 at drivers/soc/imx/soc-imx8m.c:115 imx8mmsocrevision+0xdc/0x180 CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.11.0-next-20240924-00002-g2062bb554dea #603 Hardware name: DH electronics i.MX8M Plus DHCOM Premium Developer Kit (3) (DT) pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : imx8mmsocrevision+0xdc/0x180 lr : imx8mmsocrevision+0xd0/0x180 sp : ffff8000821fbcc0 x29: ffff8000821fbce0 x28: 0000000000000000 x27: ffff800081810120 x26: ffff8000818a9970 x25: 0000000000000006 x24: 0000000000824311 x23: ffff8000817f42c8 x22: ffff0000df8be210 x21: fffffffffffffdfb x20: ffff800082780000 x19: 0000000000000001 x18: ffffffffffffffff x17: ffff800081fff418 x16: ffff8000823e1000 x15: ffff0000c03b65e8 x14: ffff0000c00051b0 x13: ffff800082790000 x12: 0000000000000801 x11: ffff80008278ffff x10: ffff80008209d3a6 x9 : ffff80008062e95c x8 : ffff8000821fb9a0 x7 : 0000000000000000 x6 : 00000000000080e3 x5 : ffff0000df8c03d8 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 0000000000000000 x1 : fffffffffffffdfb x0 : fffffffffffffdfb Call trace: imx8mmsocrevision+0xdc/0x180 imx8socinit+0xb0/0x1e0 dooneinitcall+0x94/0x1a8 kernelinitfreeable+0x240/0x2a8 kernelinit+0x28/0x140 retfromfork+0x10/0x20 ---[ end trace 0000000000000000 ]--- SoC: i.MX8MP revision 1.1 "
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.27-1 - Upgrade
Upgrade
debian/linux-6.1to a version that resolves this vulnerability.Fixed in 6.1.129-1~deb11u1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.76.1-1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 5.15.176.3-1
Event History
Frequently Asked Questions
What is the severity of CVE-2024-56787?
The severity of CVE-2024-56787 is categorized as medium, affecting specific Linux kernel versions.
What systems are affected by CVE-2024-56787?
CVE-2024-56787 affects Linux kernel versions between 5.16 and 6.12.5.
How do I fix CVE-2024-56787?
To mitigate CVE-2024-56787, update the Linux kernel to a patched version beyond 6.12.5 or any version higher than 5.15.174.
When was CVE-2024-56787 reported?
CVE-2024-56787 was reported in early 2024 and is linked to issues in the i.MX8M Plus hardware.
What impact does CVE-2024-56787 have on Linux systems?
CVE-2024-56787 may result in system instability or potential hardware interaction issues when driver_async_probe is enabled.