---
id: CVE-2025-68798
title: 'perf/x86/amd: Check event before enable to avoid GPF'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  perf/x86/amd: Check event before enable to avoid GPF

  On AMD machines cpuc->events[idx] can become NULL in a subtle race
  condition with NMI->throttle->x86_pmu_stop().

  …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c <
    49324a0c40f7e9bae1bd0362d23fc42232e14621
  - >-
    Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c <
    6e41d9ec8d7cc3f01b9ba785e05f0ebef8b3b37f
  - >-
    Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c <
    e1028fb38b328084bc683a4efb001c95d3108573
  - >-
    Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c <
    43c2e5c2acaae50e99d1c20a5a46e367c442fb3b
  - >-
    Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c <
    866cf36bfee4fba6a492d2dcc5133f857e3446b0
  - Linux 5.19
published: '2026-01-13'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:43:31.704Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-68798'
references:
  - url: 'https://git.kernel.org/stable/c/49324a0c40f7e9bae1bd0362d23fc42232e14621'
  - url: 'https://git.kernel.org/stable/c/6e41d9ec8d7cc3f01b9ba785e05f0ebef8b3b37f'
  - url: 'https://git.kernel.org/stable/c/e1028fb38b328084bc683a4efb001c95d3108573'
  - url: 'https://git.kernel.org/stable/c/43c2e5c2acaae50e99d1c20a5a46e367c442fb3b'
  - url: 'https://git.kernel.org/stable/c/866cf36bfee4fba6a492d2dcc5133f857e3446b0'
tags:
  - cve.org
epss: 0.00203
epssPercentile: 0.09091
ingestedAt: '2026-09-08T15:33:26.995Z'
---

## Overview

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

perf/x86/amd: Check event before enable to avoid GPF

On AMD machines cpuc->events[idx] can become NULL in a subtle race
condition with NMI->throttle->x86_pmu_stop().

Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF.
This appears to be an AMD only issue.

Syzkaller reported a GPF in amd_pmu_enable_all.

INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143
    msecs
Oops: general protection fault, probably for non-canonical address
    0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI
KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7]
CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk
RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195
    arch/x86/events/core.c:1430)
RSP: 0018:ffff888118009d60 EFLAGS: 00010012
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002
R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601
FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0
Call Trace:
 <IRQ>
amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2))
x86_pmu_enable (arch/x86/events/core.c:1360)
event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186
    kernel/events/core.c:2346)
__perf_remove_from_context (kernel/events/core.c:2435)
event_function (kernel/events/core.c:259)
remote_function (kernel/events/core.c:92 (discriminator 1)
    kernel/events/core.c:72 (discriminator 1))
__flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27
    ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64
    kernel/smp.c:135 kernel/smp.c:540)
__sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27
    ./include/linux/jump_label.h:207
    ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272)
sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)
    arch/x86/kernel/smp.c:266 (discriminator 47))
 </IRQ>

## Affected

- `Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c < 49324a0c40f7e9bae1bd0362d23fc42232e14621`
- `Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c < 6e41d9ec8d7cc3f01b9ba785e05f0ebef8b3b37f`
- `Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c < e1028fb38b328084bc683a4efb001c95d3108573`
- `Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c < 43c2e5c2acaae50e99d1c20a5a46e367c442fb3b`
- `Linux >= ada543459cab7f653dcacdaba4011a8bb19c627c < 866cf36bfee4fba6a492d2dcc5133f857e3446b0`
- `Linux 5.19`

## Remediation

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