CVE-2024-57985

Summary

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

firmware: qcom: scm: Cleanup global '__scm' on probe failures

If SCM driver fails the probe, it should not leave global '__scm' variable assigned, because external users of this driver will assume the probe finished successfully. For example TZMEM parts ('__scm->mempool') are initialized later in the probe, but users of it (__scm_smc_call()) rely on the '__scm' variable.

This fixes theoretical NULL pointer exception, triggered via introducing probe deferral in SCM driver with call trace:

qcom_tzmem_alloc+0x70/0x1ac (P) qcom_tzmem_alloc+0x64/0x1ac (L) qcom_scm_assign_mem+0x78/0x194 qcom_rmtfs_mem_probe+0x2d4/0x38c platform_probe+0x68/0xc8

Affected Software

VendorProductVersion RangeStatus
LinuxLinux40289e35ca525f29a03989352ab207b6a9675475 < 390d3baeba51a126f75c97b90ec28b9384ce4b84affected
LinuxLinux40289e35ca525f29a03989352ab207b6a9675475 < faf1715798fe72b79e4432ce8c6d03ca69765425affected
LinuxLinux40289e35ca525f29a03989352ab207b6a9675475 < 1e76b546e6fca7eb568161f408133904ca6bcf4faffected
LinuxLinux6.11affected
LinuxLinux0 < 6.11unaffected
LinuxLinux6.12.13 <= 6.12.*unaffected
LinuxLinux6.13.2 <= 6.13.*unaffected
LinuxLinux6.14 <= *unaffected

Weaknesses

References