* CVE-2026-97587: perf: RISC-V: store available counter mask as bitmap
@ 2026-09-25 10:22 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-09-25 10:22 UTC (permalink / raw)
To: linux-cve-announce; +Cc: Greg Kroah-Hartman
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
perf: RISC-V: store available counter mask as bitmap
The available-counter mask was a single unsigned long, but iteration
uses RISCV_MAX_COUNTERS, which is 64. On RV32 that reads past the object.
Filling with an unsigned-long bit at index 32 and above is also wrong.
Use DECLARE_BITMAP and set_bit/bitmap helpers. Walk each bitmap word
into CFG_MATCH when checking events, when allocating an index, and when
stopping all counters. Set the counter base to i times BITS_PER_LONG.
Share the CFG_MATCH ecall through a small helper so the 32-bit argument
split is not duplicated. On qemu-system-riscv32 the probe bitmap has bits
above XLEN set, so the first word alone is not enough.
[pjw@kernel.org: updated to apply; fixed checkpatch.pl issues]
The Linux kernel CVE team has assigned CVE-2026-97587 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.18 with commit e9991434596f5373dfd75857b445eb92a9253c56 and fixed in 6.12.111 with commit 143668c424772979a45118dc9cc9c2c13a35f41d
Issue introduced in 5.18 with commit e9991434596f5373dfd75857b445eb92a9253c56 and fixed in 6.18.53 with commit 9bec7beaed074bcae4181fde9ff9dfbe4e7b0957
Issue introduced in 5.18 with commit e9991434596f5373dfd75857b445eb92a9253c56 and fixed in 7.2.7 with commit e5481db31f4654e9a1254d5d467d9b1ff2f8b1cb
Issue introduced in 5.18 with commit e9991434596f5373dfd75857b445eb92a9253c56 and fixed in 7.3-rc3 with commit 6809da6e9c08ccc9a09cb0a48c61471679274aaa
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-97587
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/perf/riscv_pmu_legacy.c
drivers/perf/riscv_pmu_sbi.c
include/linux/perf/riscv_pmu.h
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/143668c424772979a45118dc9cc9c2c13a35f41d
https://git.kernel.org/stable/c/9bec7beaed074bcae4181fde9ff9dfbe4e7b0957
https://git.kernel.org/stable/c/e5481db31f4654e9a1254d5d467d9b1ff2f8b1cb
https://git.kernel.org/stable/c/6809da6e9c08ccc9a09cb0a48c61471679274aaa
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-25 10:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-25 10:22 CVE-2026-97587: perf: RISC-V: store available counter mask as bitmap Greg Kroah-Hartman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.