---
id: CVE-2026-23271
title: 'perf: Fix __perf_event_overflow() vs perf_remove_from_context() race'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  perf: Fix __perf_event_overflow() vs perf_remove_from_context() race

  Make sure that __perf_event_overflow() runs with IRQs disabled for all
  possible callchains. Specif…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 592903cdcbf606a838056bae6d03fc557806c914 <
    4df1a45819e50993cb351682a6ae8e7ed2d233a0
  - >-
    Linux >= 592903cdcbf606a838056bae6d03fc557806c914 <
    4f8d5812337871227bb2c98669a87c306a2f86ef
  - >-
    Linux >= 592903cdcbf606a838056bae6d03fc557806c914 <
    5c48fdc4b4623533d86e279f51531a7ba212eb87
  - >-
    Linux >= 592903cdcbf606a838056bae6d03fc557806c914 <
    3f89b61dd504c5b6711de9759e053b082f9abf12
  - >-
    Linux >= 592903cdcbf606a838056bae6d03fc557806c914 <
    bb190628fe5f2a73ba762a9972ba16c5e895f73e
  - >-
    Linux >= 592903cdcbf606a838056bae6d03fc557806c914 <
    c9bc1753b3cc41d0e01fbca7f035258b5f4db0ae
  - Linux 2.6.31
published: '2026-03-20'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:45:14.715Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-23271'
references:
  - url: 'https://git.kernel.org/stable/c/4df1a45819e50993cb351682a6ae8e7ed2d233a0'
  - url: 'https://git.kernel.org/stable/c/4f8d5812337871227bb2c98669a87c306a2f86ef'
  - url: 'https://git.kernel.org/stable/c/5c48fdc4b4623533d86e279f51531a7ba212eb87'
  - url: 'https://git.kernel.org/stable/c/3f89b61dd504c5b6711de9759e053b082f9abf12'
  - url: 'https://git.kernel.org/stable/c/bb190628fe5f2a73ba762a9972ba16c5e895f73e'
  - url: 'https://git.kernel.org/stable/c/c9bc1753b3cc41d0e01fbca7f035258b5f4db0ae'
tags:
  - cve.org
epss: 0.00096
epssPercentile: 0.00806
ingestedAt: '2026-09-08T15:33:26.993Z'
---

## Overview

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

perf: Fix __perf_event_overflow() vs perf_remove_from_context() race

Make sure that __perf_event_overflow() runs with IRQs disabled for all
possible callchains. Specifically the software events can end up running
it with only preemption disabled.

This opens up a race vs perf_event_exit_event() and friends that will go
and free various things the overflow path expects to be present, like
the BPF program.

## Affected

- `Linux >= 592903cdcbf606a838056bae6d03fc557806c914 < 4df1a45819e50993cb351682a6ae8e7ed2d233a0`
- `Linux >= 592903cdcbf606a838056bae6d03fc557806c914 < 4f8d5812337871227bb2c98669a87c306a2f86ef`
- `Linux >= 592903cdcbf606a838056bae6d03fc557806c914 < 5c48fdc4b4623533d86e279f51531a7ba212eb87`
- `Linux >= 592903cdcbf606a838056bae6d03fc557806c914 < 3f89b61dd504c5b6711de9759e053b082f9abf12`
- `Linux >= 592903cdcbf606a838056bae6d03fc557806c914 < bb190628fe5f2a73ba762a9972ba16c5e895f73e`
- `Linux >= 592903cdcbf606a838056bae6d03fc557806c914 < c9bc1753b3cc41d0e01fbca7f035258b5f4db0ae`
- `Linux 2.6.31`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
