CVE-2026-53152

Summary

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

mmc: dw_mmc-rockchip: Add missing private data for very old controllers

The really old controllers (rk2928, rk3066, rk3188) do not support UHS speeds at all, and thus never handled phase data.

For that reason it never had a parse_dt callback and no driver private data at all.

Commit ff6f0286c896 ("mmc: dw_mmc-rockchip: Add memory clock auto-gating support") makes the private data sort of mandatory, because the init function checks whether phases are configured internally or through the clock controller.

This results in the old SoCs then experiencing NULL-pointer dereferences when they try to access that private-data struct.

While we could have if (priv) conditionals in all places, it's way less cluttery to just give the old types their private-data struct.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux7457b35afafef5195a498d13b3e05f4258beeecc < b1180ff50cca48807893ecde7d1f81d573c88c85affected
LinuxLinux5b58ba042e2379f4c01da3211fd17dbdc983c2ac < 7f8007be13e6cc1e0a508fe461f9a91ba9a28b8caffected
LinuxLinuxff6f0286c896f062853552097220dd93961be9c4 < 8d9eca906e76d3dd40e5f2c79701f066678f2e62affected
LinuxLinuxff6f0286c896f062853552097220dd93961be9c4 < 1e9a4850afa0ceb63984fb1a9f3e86d0fc4fd18faffected
LinuxLinux6.12.78 < 6.12.94affected
LinuxLinux6.18.19 < 6.18.36affected
LinuxLinux6.19affected
LinuxLinux0 < 6.19unaffected
LinuxLinux6.12.94 <= 6.12.*unaffected
LinuxLinux6.18.36 <= 6.18.*unaffected
LinuxLinux7.0.13 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References