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

  pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER

  In create_pinctrl(), pinctrl_maps_mutex is acquired before calling
  add_setting()
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER

  In create_pinctrl(), pinctrl_maps_mutex is acquired before calling
  add_setting(). If add_setting(…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-667
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 3.10, < 4.19.317'
  - 'linux_kernel >= 4.20, < 5.4.279'
  - 'linux_kernel >= 5.5, < 5.10.221'
  - 'linux_kernel >= 5.11, < 5.15.162'
  - 'linux_kernel >= 5.16, < 6.1.97'
  - 'linux_kernel >= 6.2, < 6.6.37'
  - 'linux_kernel >= 6.7, < 6.9.8'
patched:
  - linux_kernel 6.9.8
published: '2024-07-29'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:18:42.747'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-42090'
references:
  - url: 'https://git.kernel.org/stable/c/01fe2f885f7813f8aed5d3704b384a97b1116a9e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4038c57bf61631219b31f1bd6e92106ec7f084dc'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/420ce1261907e5dbeda1e4daffd5b6c76f8188c0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/48a7a7c9571c3e62f17012dd7f2063e926179ddd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/adec57ff8e66aee632f3dd1f93787c13d112b7a1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b36efd2e3e22a329444b6b24fa48df6d20ae66e6'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b813e3fd102a959c5b208ed68afe27e0137a561b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e65a0dc2e85efb28e182aca50218e8a056d0ce04'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/01fe2f885f7813f8aed5d3704b384a97b1116a9e'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/4038c57bf61631219b31f1bd6e92106ec7f084dc'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/420ce1261907e5dbeda1e4daffd5b6c76f8188c0'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/48a7a7c9571c3e62f17012dd7f2063e926179ddd'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/adec57ff8e66aee632f3dd1f93787c13d112b7a1'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/b36efd2e3e22a329444b6b24fa48df6d20ae66e6'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/b813e3fd102a959c5b208ed68afe27e0137a561b'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/e65a0dc2e85efb28e182aca50218e8a056d0ce04'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-265688.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00187
epssPercentile: 0.0827
ingestedAt: '2026-10-15T03:30:12.728Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-09-10T16:18:41.131591Z'
---

## Overview

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

pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER

In create_pinctrl(), pinctrl_maps_mutex is acquired before calling
add_setting(). If add_setting() returns -EPROBE_DEFER, create_pinctrl()
calls pinctrl_free(). However, pinctrl_free() attempts to acquire
pinctrl_maps_mutex, which is already held by create_pinctrl(), leading to
a potential deadlock.

This patch resolves the issue by releasing pinctrl_maps_mutex before
calling pinctrl_free(), preventing the deadlock.

This bug was discovered and resolved using Coverity Static Analysis
Security Testing (SAST) by Synopsys, Inc.

## Affected

- `linux_kernel >= 3.10, < 4.19.317`
- `linux_kernel >= 4.20, < 5.4.279`
- `linux_kernel >= 5.5, < 5.10.221`
- `linux_kernel >= 5.11, < 5.15.162`
- `linux_kernel >= 5.16, < 6.1.97`
- `linux_kernel >= 6.2, < 6.6.37`
- `linux_kernel >= 6.7, < 6.9.8`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.9.8`
