CVE-2026-98209: mmc: sdhci-of-aspeed: Remove children before releasing SDC resources
In the Linux kernel, the following vulnerability has been resolved:
mmc: sdhci-of-aspeed: Remove children before releasing SDC resources
Probe failure and removal leave SDHCI child devices registered after the parent clock and managed resources are released.
Unregister the OF children in reverse order before disabling the parent clock on both paths. Use ofplatformdevicedestroy() because manual child creation does not set the flag required by ofplatformdepopulate().
This issue was identified during our ongoing static-analysis research while reviewing kernel code.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In the sdhci-of-aspeed probe-failure and removal paths, unregister OF child devices in reverse order using of_platform_device_destroy() before disabling the parent or releasing SDC resources, the parent clock, and managed resources.
Event History
Frequently Asked Questions
Under what conditions can the stale child-device state occur?
The issue can occur when the driver probe fails or when the device is removed. In those paths, SDHCI child devices may remain registered after the parent clock and managed resources have been released.
What is the required cleanup behavior?
OF child devices must be unregistered in reverse order before the parent clock is disabled on both probe-failure and removal paths. The cleanup uses of_platform_device_destroy() because the children were created manually and are not eligible for of_platform_depopulate().