CVE-2025-21889 perf/core: Add RCU read lock protection to perf_iterate_ctx()

High 7.8 Published Updated

Missing RCU read lock in perf_iterate_ctx can cause lockdep warnings and potential instability during process execution.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2025-21889?

CVE-2025-21889 is a high-severity vulnerability in Linux kernel, published on 27 Mar 2025. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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

perf/core: Add RCU read lock protection to perf_iterate_ctx()

The perf_iterate_ctx() function performs RCU list traversal but currently lacks RCU read lock protection. This causes lockdep warnings when running perf probe with unshare(1) under CONFIG_PROVE_RCU_LIST=y:

WARNING: suspicious RCU usage kernel/events/core.c:8168 RCU-list traversed in non-reader section!!

Call Trace: lockdep_rcu_suspicious ? perf_event_addr_filters_apply perf_iterate_ctx perf_event_exec begin_new_exec ? load_elf_phdrs load_elf_binary ? lock_acquire ? find_held_lock ? bprm_execve bprm_execve do_execveat_common.isra.0 __x64_sys_execve do_syscall_64 entry_SYSCALL_64_after_hwframe

This protection was previously present but was removed in commit bd2756811766 ("perf: Rewrite core context handling"). Add back the necessary rcu_read_lock()/rcu_read_unlock() pair around perf_iterate_ctx() call in perf_event_exec().

[ mingo: Use scoped_guard() as suggested by Peter ]

Which versions are affected by CVE-2025-21889?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2025-21889?

Apply the vendor's patch.

Is CVE-2025-21889 being exploited?

There is no known exploitation of CVE-2025-21889 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2025-21889, DEBIAN-CVE-2025-21889, GHSA-mcf6-fpvv-xxr4, ROOT-OS-UBUNTU-2404-CVE-2025-21889, UBUNTU-CVE-2025-21889.

Is CVE-2025-21889 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free