---
id: CVE-2025-38322
title: 'perf/x86/intel: Fix crash in icl_update_topdown_event()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  perf/x86/intel: Fix crash in icl_update_topdown_event()

  The perf_fuzzer found a hard-lockup crash on a RaptorLake machine:

    Oops: general protection fault, maybe for…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 781b2db0eb7731fbde510c268b7ccc62959c3feb <
    702ea6028032d6c1fe96c2d4762a3575e3654819
  - >-
    Linux >= e7f6922c8a5b41522a8329ea6bbf815993b2dd28 <
    79e2dd573116d3338507c311460da9669095c94d
  - >-
    Linux >= 3a8bec6583e5239de3bd597ab382dc6c2b0c29a1 <
    e97c45c770f5e56c784a46c2a96ab968d26b97d9
  - >-
    Linux >= f9bdf1f953392c9edd69a7f884f78c0390127029 <
    a85cc69acdcb05f8cd226b8ea0778b8e2e887e6f
  - >-
    Linux >= f9bdf1f953392c9edd69a7f884f78c0390127029 <
    b0823d5fbacb1c551d793cbfe7af24e0d1fa45ed
  - Linux 06cd7bfbb86e9db3e9013ea6636ad2c6f0a1664d
  - Linux d8370aa704bd7e384918c8f466856374725c0585
  - Linux >= 6.1.134 < 6.1.149
  - Linux >= 6.6.87 < 6.6.101
  - Linux >= 6.12.23 < 6.12.49
  - Linux >= 6.13.11 < 6.14
  - Linux >= 6.14.2 < 6.15
  - Linux 6.15
published: '2025-07-10'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:41:50.749Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38322'
references:
  - url: 'https://git.kernel.org/stable/c/702ea6028032d6c1fe96c2d4762a3575e3654819'
  - url: 'https://git.kernel.org/stable/c/79e2dd573116d3338507c311460da9669095c94d'
  - url: 'https://git.kernel.org/stable/c/e97c45c770f5e56c784a46c2a96ab968d26b97d9'
  - url: 'https://git.kernel.org/stable/c/a85cc69acdcb05f8cd226b8ea0778b8e2e887e6f'
  - url: 'https://git.kernel.org/stable/c/b0823d5fbacb1c551d793cbfe7af24e0d1fa45ed'
tags:
  - cve.org
epss: 0.00165
epssPercentile: 0.05035
ingestedAt: '2026-09-08T15:33:26.997Z'
---

## Overview

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

perf/x86/intel: Fix crash in icl_update_topdown_event()

The perf_fuzzer found a hard-lockup crash on a RaptorLake machine:

  Oops: general protection fault, maybe for address 0xffff89aeceab400: 0000
  CPU: 23 UID: 0 PID: 0 Comm: swapper/23
  Tainted: [W]=WARN
  Hardware name: Dell Inc. Precision 9660/0VJ762
  RIP: 0010:native_read_pmc+0x7/0x40
  Code: cc e8 8d a9 01 00 48 89 03 5b cd cc cc cc cc 0f 1f ...
  RSP: 000:fffb03100273de8 EFLAGS: 00010046
  ....
  Call Trace:
    <TASK>
    icl_update_topdown_event+0x165/0x190
    ? ktime_get+0x38/0xd0
    intel_pmu_read_event+0xf9/0x210
    __perf_event_read+0xf9/0x210

CPUs 16-23 are E-core CPUs that don't support the perf metrics feature.
The icl_update_topdown_event() should not be invoked on these CPUs.

It's a regression of commit:

  f9bdf1f95339 ("perf/x86/intel: Avoid disable PMU if !cpuc->enabled in sample read")

The bug introduced by that commit is that the is_topdown_event() function
is mistakenly used to replace the is_topdown_count() call to check if the
topdown functions for the perf metrics feature should be invoked.

Fix it.

## Affected

- `Linux >= 781b2db0eb7731fbde510c268b7ccc62959c3feb < 702ea6028032d6c1fe96c2d4762a3575e3654819`
- `Linux >= e7f6922c8a5b41522a8329ea6bbf815993b2dd28 < 79e2dd573116d3338507c311460da9669095c94d`
- `Linux >= 3a8bec6583e5239de3bd597ab382dc6c2b0c29a1 < e97c45c770f5e56c784a46c2a96ab968d26b97d9`
- `Linux >= f9bdf1f953392c9edd69a7f884f78c0390127029 < a85cc69acdcb05f8cd226b8ea0778b8e2e887e6f`
- `Linux >= f9bdf1f953392c9edd69a7f884f78c0390127029 < b0823d5fbacb1c551d793cbfe7af24e0d1fa45ed`
- `Linux 06cd7bfbb86e9db3e9013ea6636ad2c6f0a1664d`
- `Linux d8370aa704bd7e384918c8f466856374725c0585`
- `Linux >= 6.1.134 < 6.1.149`
- `Linux >= 6.6.87 < 6.6.101`
- `Linux >= 6.12.23 < 6.12.49`
- `Linux >= 6.13.11 < 6.14`
- `Linux >= 6.14.2 < 6.15`
- `Linux 6.15`

## Remediation

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