Skip to content
Heist/ feed
Back to feed
UnratedFix available

drm/xe/migrate: prevent infinite recursion

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: drm/xe/migrate: prevent infinite recursion If the buf + offset is not aligned to XE_CAHELINE_BYTES we fallback to using a bounce buffer. However the bounce buffer here is allocated on the stack, and the only alignment requirement here is that it's naturally aligned to u8, and not XE_CACHELINE_BYTES. If the bounce buffer is also misaligned we then recurse back into the function again, however the new bounce buffer might also not be aligned, and might never be until we eventually blow through the stack, as we keep recursing. Instead of using the stack use kmalloc, which should respect the power-of-two alignment request here. Fixes a kernel panic when triggering this path through eudebug. v2 (Stuart): - Add build bug check for power-of-two restriction - s/EINVAL/ENOMEM/ (cherry picked from commit 38b34e928a08ba594c4bbf7118aa3aadacd62fff)

Products
Kernel
Affected versions
Not specified
Fixed versions
6.16.2
CVEs
CVE-2025-38690
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 11:14 UTC · Revision 1

Source evidence

drm/xe/migrate: prevent infinite recursion

core-osv · Original source

Published 4 Sept 2025, 15:32 UTC

In the Linux kernel, the following vulnerability has been resolved: drm/xe/migrate: prevent infinite recursion If the buf + offset is not aligned to XE_CAHELINE_BYTES we fallback to using a bounce buffer. However the bounce buffer here is allocated on the stack, and the only alignment requirement here is that it's naturally aligned to u8, and not XE_CACHELINE_BYTES. If the bounce buffer is also misaligned we then recurse back into the function again, however the new bounce buffer might also not be aligned, and might never be until we eventually blow through the stack, as we keep recursing. Instead of using the stack use kmalloc, which should respect the power-of-two alignment request here. Fixes a kernel panic when triggering this path through eudebug. v2 (Stuart): - Add build bug check for power-of-two restriction - s/EINVAL/ENOMEM/ (cherry picked from commit 38b34e928a08ba594c4bbf7118aa3aadacd62fff)

osv:CVE-2025-38690

Kernel

Fixed versions: 6.16.2

Complete source record
{
  "id": "c0bffdca0ef41f155f1f81a43263d82107d1e98da3302a77763d41f1747cc2d5",
  "url": "https://osv.dev/vulnerability/CVE-2025-38690",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "drm/xe/migrate: prevent infinite recursion",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: drm/xe/migrate: prevent infinite recursion If the buf + offset is not aligned to XE_CAHELINE_BYTES we fallback to using a bounce buffer. However the bounce buffer here is allocated on the stack, and the only alignment requirement here is that it's naturally aligned to u8, and not XE_CACHELINE_BYTES. If the bounce buffer is also misaligned we then recurse back into the function again, however the new bounce buffer might also not be aligned, and might never be until we eventually blow through the stack, as we keep recursing. Instead of using the stack use kmalloc, which should respect the power-of-two alignment request here. Fixes a kernel panic when triggering this path through eudebug. v2 (Stuart): - Add build bug check for power-of-two restriction - s/EINVAL/ENOMEM/ (cherry picked from commit 38b34e928a08ba594c4bbf7118aa3aadacd62fff)",
    "evidence": "osv:CVE-2025-38690",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.16.2",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2025-38690",
      "aliases": [
        "CVE-2025-38690"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "270172f64b114451876c1b68912653e72ab99f38"
                },
                {
                  "fixed": "89f511c024879c5812cc0c010a6663b5e49950f3"
                },
                {
                  "fixed": "9d7a1cbebbb691891671def57407ba2f8ee914e8"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38690.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.16.0"
                },
                {
                  "fixed": "6.16.2"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38690.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:50.598111020Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/89f511c024879c5812cc0c010a6663b5e49950f3",
        "https://git.kernel.org/stable/c/9d7a1cbebbb691891671def57407ba2f8ee914e8",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38690.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-38690",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38690.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-38690",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 519098,
  "published_at": "2025-09-04T15:32:44.559+00:00"
}