Linux Kernel i.MX8M Plus SoC Driver Platform Probe Vulnerability

Vulnerability

A vulnerability exists in the Linux kernel's handling of the i.MX8M Plus System on Chip (SoC) driver. When the 'driver_async_probe' option is enabled, the SoC driver can encounter a probe deferment issue. This occurs because the SoC driver attempts to access clock information before the relevant clock driver has been initialized, leading to a delay in the probing process. The issue was not apparent during standard testing without the asynchronous probe option. To address this, the SoC driver should be converted to a platform driver, with a platform device instantiated during the device initialization phase. Additionally, the SoC revision callback needs to be revised to consistently return valid error codes and provide the SoC revision through a parameter, ensuring that any deferment issues are properly communicated and retried as needed.

Impact

The vulnerability can cause a denial of service by failing to properly initialize the SoC driver, which can lead to system instability or unavailability of certain functionalities.

Reproduction

To reproduce this vulnerability, boot the Linux kernel with the 'driver_async_probe' option enabled on a device using the i.MX8M Plus SoC. The SoC driver will attempt to access clock information prematurely, resulting in a probe deferment. This can be observed in the kernel log, where the SoC revision retrieval process fails and produces a warning trace indicating the deferment issue.

Remediation

The i.MX8M Plus SoC driver should be modified to function as a platform driver, with the necessary adjustments made to the device initialization process and the SoC revision callback.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
4.3
remediation
0.0
relevance
0.0
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.