---
id: CVE-2024-57985
title: |-
  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 use…
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 use…
severity: high
cvss: 7
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 6.11, < 6.12.13'
  - 'linux_kernel >= 6.13, < 6.13.2'
patched:
  - linux_kernel 6.13.2
published: '2025-02-27'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T22:18:04.670'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-57985'
references:
  - url: 'https://git.kernel.org/stable/c/1e76b546e6fca7eb568161f408133904ca6bcf4f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/390d3baeba51a126f75c97b90ec28b9384ce4b84'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/faf1715798fe72b79e4432ce8c6d03ca69765425'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00204
epssPercentile: 0.1032
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:41:53.306384Z'
ingestedAt: '2026-10-15T22:48:25.463Z'
---

## Overview

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

- `linux_kernel >= 6.11, < 6.12.13`
- `linux_kernel >= 6.13, < 6.13.2`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.13.2`
