---
id: CVE-2024-36940
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  pinctrl: core: delete incorrect free in pinctrl_enable()

  The "pctldev" struct is allocated in devm_pinctrl_register_and_init().
  It's a devm_ managed pointer that is fr…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  pinctrl: core: delete incorrect free in pinctrl_enable()

  The "pctldev" struct is allocated in devm_pinctrl_register_and_init().
  It's a devm_ managed pointer that is fr…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-415
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.11, < 4.19.314'
  - 'linux_kernel >= 4.20, < 5.4.276'
  - 'linux_kernel >= 5.5, < 5.10.217'
  - 'linux_kernel >= 5.11, < 5.15.159'
  - 'linux_kernel >= 5.16, < 6.1.91'
  - 'linux_kernel >= 6.2, < 6.6.31'
  - 'linux_kernel >= 6.7, < 6.8.10'
  - linux_kernel = 6.9
  - debian_linux = 10.0
patched:
  - linux_kernel 6.8.10
published: '2024-05-30'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:18:26.347'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-36940'
references:
  - url: 'https://git.kernel.org/stable/c/288bc4aa75f150d6f1ee82dd43c6da1b438b6068'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/41f88ef8ba387a12f4a2b8c400b6c9e8e54b2cca'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5038a66dad0199de60e5671603ea6623eb9e5c79'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/558c8039fdf596a584a92c171cbf3298919c448c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/735f4c6b6771eafe336404c157ca683ad72a040d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ac7d65795827dc0cf7662384ed27caf4066bd72e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/cdaa171473d98962ae86f2a663d398fda2fbeefd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f9f1e321d53e4c5b666b66e5b43da29841fb55ba'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/288bc4aa75f150d6f1ee82dd43c6da1b438b6068'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/41f88ef8ba387a12f4a2b8c400b6c9e8e54b2cca'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/5038a66dad0199de60e5671603ea6623eb9e5c79'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/558c8039fdf596a584a92c171cbf3298919c448c'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/735f4c6b6771eafe336404c157ca683ad72a040d'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/ac7d65795827dc0cf7662384ed27caf4066bd72e'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/cdaa171473d98962ae86f2a663d398fda2fbeefd'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/f9f1e321d53e4c5b666b66e5b43da29841fb55ba'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2024/06/msg00019.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-265688.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-613116.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00247
epssPercentile: 0.15959
ingestedAt: '2026-10-15T03:30:12.703Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-06-05T14:25:26.979822Z'
---

## Overview

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

pinctrl: core: delete incorrect free in pinctrl_enable()

The "pctldev" struct is allocated in devm_pinctrl_register_and_init().
It's a devm_ managed pointer that is freed by devm_pinctrl_dev_release(),
so freeing it in pinctrl_enable() will lead to a double free.

The devm_pinctrl_dev_release() function frees the pindescs and destroys
the mutex as well.

## Affected

- `linux_kernel >= 4.11, < 4.19.314`
- `linux_kernel >= 4.20, < 5.4.276`
- `linux_kernel >= 5.5, < 5.10.217`
- `linux_kernel >= 5.11, < 5.15.159`
- `linux_kernel >= 5.16, < 6.1.91`
- `linux_kernel >= 6.2, < 6.6.31`
- `linux_kernel >= 6.7, < 6.8.10`
- `linux_kernel = 6.9`
- `debian_linux = 10.0`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.8.10`
