« Volver al listado

CVE-2026-89566

Estado: RecibidaSin puntuar—

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

jbd2: check need_resched() when skipping busy checkpoint buffers

journal_shrink_one_cp_list() skips busy checkpoint buffers when called with JBD2_SHRINK_BUSY_SKIP. The continue statement on this path also skips the need_resched() check at the end of the loop body.

Consequently, when a checkpoint list contains mostly busy buffers, the shrinker can walk the entire list while holding journal->j_list_lock, even when a reschedule has been requested. Large checkpoint lists under memory pressure can therefore cause long lock hold times and leave other CPUs spinning on j_list_lock, resulting in soft lockups or RCU stalls.

Leer descripción completaMostrar menos

Route the busy-buffer path through the need_resched() check so that the shrinker can release j_list_lock and reschedule promptly, restoring parity with the clean-buffer path, which already checks need_resched(). This does not change which checkpoint buffers are eligible for removal.

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-89566",
  "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": "b98dba273a0e47dbfade89c9af73c5b012a4eabb",
              "lessThan": "f83c23286e54180cdc83a36463a60003534cc290",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b98dba273a0e47dbfade89c9af73c5b012a4eabb",
              "lessThan": "f9182a85991a0ad5cd2940df6db75f40ad90028c",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b98dba273a0e47dbfade89c9af73c5b012a4eabb",
              "lessThan": "595cac7f1b32d009b97f83dd2b2d6a1a445e9bb4",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b98dba273a0e47dbfade89c9af73c5b012a4eabb",
              "lessThan": "f213e12ff5c9590b1034ae8da0e6d09665c772d0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9c31bb2684f8035beca0275349d19d679b679ffb",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "5fda50e262e65bd553ff777c4b280afd1495a18b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "557fda9ed70ebf8eda2620ba3d746215285a1303",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "5.15.129",
              "lessThan": "5.16",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "6.1.50",
              "lessThan": "6.2",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "6.4.13",
              "lessThan": "6.5",
              "versionType": "semver"
            }
          ],
          "programFiles": [
            "fs/jbd2/checkpoint.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.5"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.5",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.12.109",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "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": [
            "fs/jbd2/checkpoint.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-11T20:19:40.550",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/595cac7f1b32d009b97f83dd2b2d6a1a445e9bb4",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f213e12ff5c9590b1034ae8da0e6d09665c772d0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f83c23286e54180cdc83a36463a60003534cc290",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f9182a85991a0ad5cd2940df6db75f40ad90028c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\njbd2: check need_resched() when skipping busy checkpoint buffers\n\njournal_shrink_one_cp_list() skips busy checkpoint buffers when called\nwith JBD2_SHRINK_BUSY_SKIP.  The continue statement on this path also\nskips the need_resched() check at the end of the loop body.\n\nConsequently, when a checkpoint list contains mostly busy buffers, the\nshrinker can walk the entire list while holding journal->j_list_lock,\neven when a reschedule has been requested.  Large checkpoint lists under\nmemory pressure can therefore cause long lock hold times and leave other\nCPUs spinning on j_list_lock, resulting in soft lockups or RCU stalls.\n\nRoute the busy-buffer path through the need_resched() check so that the\nshrinker can release j_list_lock and reschedule promptly, restoring\nparity with the clean-buffer path, which already checks need_resched().\nThis does not change which checkpoint buffers are eligible for removal."
    }
  ],
  "lastModified": "2026-09-11T20:19:40.550",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}