CVE-2026-64211 (GCVE-0-2026-64211)
Vulnerability from cvelistv5
Published
2026-07-24 15:23
Modified
2026-07-24 15:23
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: srcu: Don't queue workqueue handlers to never-online CPUs While an srcu_struct structure is in the midst of switching from CPU-0 to all-CPUs state, it can attempt to invoke callbacks for CPUs that have never been online. Worse yet, it can attempt in invoke callbacks for CPUs that never will be online, even including imaginary CPUs not in cpu_possible_mask. This can cause hangs on s390, which is not set up to deal with workqueue handlers being scheduled on such CPUs. This commit therefore causes Tree SRCU to refrain from queueing workqueue handlers on CPUs that have not yet (and might never) come online. Because callbacks are not invoked on CPUs that have not been online, it is an error to invoke call_srcu(), synchronize_srcu(), or synchronize_srcu_expedited() on a CPU that is not yet fully online. However, it turns out to be less code to redirect the callbacks from too-early invocations of call_srcu() than to warn about such invocations. This commit therefore also redirects callbacks queued on not-yet-fully-online CPUs to the boot CPU.
Impacted products
Vendor Product Version
Linux Linux Version: 61bbcfb50514a8a94e035a7349697a3790ab4783
Version: 61bbcfb50514a8a94e035a7349697a3790ab4783
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/rcu/srcutree.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a4153538fcd2361c4e0039eb103265492d26044e",
              "status": "affected",
              "version": "61bbcfb50514a8a94e035a7349697a3790ab4783",
              "versionType": "git"
            },
            {
              "lessThan": "593889c401426004bd0ea0f6d4fcece728b03420",
              "status": "affected",
              "version": "61bbcfb50514a8a94e035a7349697a3790ab4783",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/rcu/srcutree.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.0"
            },
            {
              "lessThan": "7.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.11",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsrcu: Don\u0027t queue workqueue handlers to never-online CPUs\n\nWhile an srcu_struct structure is in the midst of switching from CPU-0\nto all-CPUs state, it can attempt to invoke callbacks for CPUs that\nhave never been online.  Worse yet, it can attempt in invoke callbacks\nfor CPUs that never will be online, even including imaginary CPUs not in\ncpu_possible_mask.  This can cause hangs on s390, which is not set up to\ndeal with workqueue handlers being scheduled on such CPUs.  This commit\ntherefore causes Tree SRCU to refrain from queueing workqueue handlers\non CPUs that have not yet (and might never) come online.\n\nBecause callbacks are not invoked on CPUs that have not been\nonline, it is an error to invoke call_srcu(), synchronize_srcu(), or\nsynchronize_srcu_expedited() on a CPU that is not yet fully online.\nHowever, it turns out to be less code to redirect the callbacks\nfrom too-early invocations of call_srcu() than to warn about such\ninvocations.  This commit therefore also redirects callbacks queued on\nnot-yet-fully-online CPUs to the boot CPU."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-24T15:23:01.889Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a4153538fcd2361c4e0039eb103265492d26044e"
        },
        {
          "url": "https://git.kernel.org/stable/c/593889c401426004bd0ea0f6d4fcece728b03420"
        }
      ],
      "title": "srcu: Don\u0027t queue workqueue handlers to never-online CPUs",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64211",
    "datePublished": "2026-07-24T15:23:01.889Z",
    "dateReserved": "2026-07-19T15:36:31.769Z",
    "dateUpdated": "2026-07-24T15:23:01.889Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…