FKIE_CVE-2026-80626

Vulnerability from fkie_nvd - Published: 2026-08-28 08:16 - Updated: 2026-08-28 08:16
Severity
Summary
In the Linux kernel, the following vulnerability has been resolved: powerpc/perf: fix preempt count underflow in fsl_emb_pmu_del fsl_emb_pmu_del() unconditionally calls put_cpu_var(cpu_hw_events) at the 'out:' label, but only calls the matching get_cpu_var() after the 'i < 0' early-return check. When event->hw.idx is negative the function jumps to 'out:' without having taken get_cpu_var(), and the trailing put_cpu_var() then issues an unmatched preempt_enable(), underflowing preempt_count. On a CONFIG_PREEMPT=y kernel preempt_count would underflow and eventually present as a 'scheduling while atomic' BUG. Move put_cpu_var() to pair with get_cpu_var() so the percpu access is correctly bracketed and the 'out:' label only handles perf_pmu_enable.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/powerpc/perf/core-fsl-emb.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c0c7722308c5f303117d8bd555290fdf26b098da",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            },
            {
              "lessThan": "67aeb1eb93d4ffd898a3e74a7f3fe46ee71feb28",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            },
            {
              "lessThan": "9a515e00b00132b6fc3f1dd62dc5204bbda8cb10",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            },
            {
              "lessThan": "5397142d60aa29dcf636f5459d960bfc4f97c42a",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            },
            {
              "lessThan": "b89477077c834d94381c7bf07d81193bebefcff9",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            },
            {
              "lessThan": "73711688479df333acc134e3730fff1acba1843e",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            },
            {
              "lessThan": "b504fd953664c3f4d176ae8cb594adb3fda9d577",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            },
            {
              "lessThan": "81e3a86030462824a67d697739cf3f387f4ba350",
              "status": "affected",
              "version": "a11106544f33c104706ae42d27219a409b67478e",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/powerpc/perf/core-fsl-emb.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.34"
            },
            {
              "lessThan": "2.6.34",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.261",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npowerpc/perf: fix preempt count underflow in fsl_emb_pmu_del\n\nfsl_emb_pmu_del() unconditionally calls put_cpu_var(cpu_hw_events) at\nthe \u0027out:\u0027 label, but only calls the matching get_cpu_var() after the\n\u0027i \u003c 0\u0027 early-return check. When event-\u003ehw.idx is negative the\nfunction jumps to \u0027out:\u0027 without having taken get_cpu_var(), and the\ntrailing put_cpu_var() then issues an unmatched preempt_enable(),\nunderflowing preempt_count.\n\nOn a CONFIG_PREEMPT=y kernel preempt_count would underflow and\neventually present as a \u0027scheduling while atomic\u0027 BUG.\n\nMove put_cpu_var() to pair with get_cpu_var() so the percpu access is\ncorrectly bracketed and the \u0027out:\u0027 label only handles perf_pmu_enable."
    }
  ],
  "id": "CVE-2026-80626",
  "lastModified": "2026-08-28T08:16:46.740",
  "metrics": {},
  "published": "2026-08-28T08:16:46.740",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/5397142d60aa29dcf636f5459d960bfc4f97c42a"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/67aeb1eb93d4ffd898a3e74a7f3fe46ee71feb28"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/73711688479df333acc134e3730fff1acba1843e"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/81e3a86030462824a67d697739cf3f387f4ba350"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/9a515e00b00132b6fc3f1dd62dc5204bbda8cb10"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/b504fd953664c3f4d176ae8cb594adb3fda9d577"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/b89477077c834d94381c7bf07d81193bebefcff9"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/c0c7722308c5f303117d8bd555290fdf26b098da"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Received"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…