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

  soundwire: cadence: fix invalid PDI offset

  For some reason, we add an offset to the PDI, presumably to skip the
  PDI0 and PDI1 which are reserved for BPT.

  This code is…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  soundwire: cadence: fix invalid PDI offset

  For some reason, we add an offset to the PDI, presumably to skip the
  PDI0 and PDI1 which are reserved for BPT.

  This code is…
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-125
vendor: linux
product: linux_kernel
affected:
  - linux_kernel < 5.4.278
  - 'linux_kernel >= 5.5, < 5.10.219'
  - 'linux_kernel >= 5.11, < 5.15.161'
  - 'linux_kernel >= 5.16, < 6.1.93'
  - 'linux_kernel >= 6.2, < 6.6.33'
  - 'linux_kernel >= 6.7, < 6.9.4'
patched:
  - linux_kernel 6.9.4
published: '2024-06-21'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:18:32.300'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-38635'
references:
  - url: 'https://git.kernel.org/stable/c/002364b2d594a9afc0385c09e00994c510b1d089'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2ebcaa0e5db9b6044bb487ae1cf41bc601761567'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4e99103f757cdf636c6ee860994a19a346a11785'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7eeef1e935d23db5265233d92395bd5c648a4021'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8ee1b439b1540ae543149b15a2a61b9dff937d91'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/902f6d656441a511ac25c6cffce74496db10a078'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fd4bcb991ebaf0d1813d81d9983cfa99f9ef5328'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/002364b2d594a9afc0385c09e00994c510b1d089'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/2ebcaa0e5db9b6044bb487ae1cf41bc601761567'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/4e99103f757cdf636c6ee860994a19a346a11785'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/7eeef1e935d23db5265233d92395bd5c648a4021'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/8ee1b439b1540ae543149b15a2a61b9dff937d91'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/902f6d656441a511ac25c6cffce74496db10a078'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/fd4bcb991ebaf0d1813d81d9983cfa99f9ef5328'
    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.00235
epssPercentile: 0.14311
ingestedAt: '2026-10-15T03:30:12.713Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-06-21T13:12:09.388099Z'
---

## Overview

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

soundwire: cadence: fix invalid PDI offset

For some reason, we add an offset to the PDI, presumably to skip the
PDI0 and PDI1 which are reserved for BPT.

This code is however completely wrong and leads to an out-of-bounds
access. We were just lucky so far since we used only a couple of PDIs
and remained within the PDI array bounds.

A Fixes: tag is not provided since there are no known platforms where
the out-of-bounds would be accessed, and the initial code had problems
as well.

A follow-up patch completely removes this useless offset.

## Affected

- `linux_kernel < 5.4.278`
- `linux_kernel >= 5.5, < 5.10.219`
- `linux_kernel >= 5.11, < 5.15.161`
- `linux_kernel >= 5.16, < 6.1.93`
- `linux_kernel >= 6.2, < 6.6.33`
- `linux_kernel >= 6.7, < 6.9.4`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.9.4`
