« Volver al listado

CVE-2026-89590

Estado: RecibidaSin puntuar—

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

accel/rocket: Fix error path handling in rocket_job_run()

In rocket_job_run(), after taking an extra fence reference for job->done_fence via dma_fence_get(), the error paths have three bugs:

Fix by replacing pm_runtime_get_sync() with pm_runtime_resume_and_get() which auto-balances the usage counter on failure, releasing both fence references on error, and returning ERR_PTR(ret) instead of the unsignaled fence.

[tomeu: Refactored error paths to use consolidated goto labels]

Detalles técnicos trazas, registros y código del informe original
- The dma_fence reference held by job->done_fence is never released,
  causing a reference leak.
- pm_runtime_get_sync() increments the usage counter even on failure,
  but the error path does not decrement it, leaking the runtime PM
  reference and preventing the NPU from suspending.
- A valid but unsignaled fence is returned to the DRM scheduler,
  which triggers WARN("Fence ... released with pending signals!")
  when the scheduler drops its reference.

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-89590",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "0810d5ad88a18f1e6d549853a388ad0316f74e36",
              "lessThan": "9ad8821573a36bcd18c84dbca3027802b0ea062f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "0810d5ad88a18f1e6d549853a388ad0316f74e36",
              "lessThan": "7d6fa298c23495b805004f5f446497b661998fa5",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "0810d5ad88a18f1e6d549853a388ad0316f74e36",
              "lessThan": "9b2dedadf6a91ac3fc9fae268bb556a041222711",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/accel/rocket/rocket_job.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.18"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.18",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.4",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/accel/rocket/rocket_job.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-11T20:19:43.567",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/7d6fa298c23495b805004f5f446497b661998fa5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9ad8821573a36bcd18c84dbca3027802b0ea062f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9b2dedadf6a91ac3fc9fae268bb556a041222711",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\naccel/rocket: Fix error path handling in rocket_job_run()\n\nIn rocket_job_run(), after taking an extra fence reference for\njob->done_fence via dma_fence_get(), the error paths have three bugs:\n\n- The dma_fence reference held by job->done_fence is never released,\n  causing a reference leak.\n- pm_runtime_get_sync() increments the usage counter even on failure,\n  but the error path does not decrement it, leaking the runtime PM\n  reference and preventing the NPU from suspending.\n- A valid but unsignaled fence is returned to the DRM scheduler,\n  which triggers WARN(\"Fence ... released with pending signals!\")\n  when the scheduler drops its reference.\n\nFix by replacing pm_runtime_get_sync() with pm_runtime_resume_and_get()\nwhich auto-balances the usage counter on failure, releasing both fence\nreferences on error, and returning ERR_PTR(ret) instead of the\nunsignaled fence.\n\n[tomeu: Refactored error paths to use consolidated goto labels]"
    }
  ],
  "lastModified": "2026-09-11T20:19:43.567",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}