CVE-2026-97587 in Linux信息

摘要

由 VulDB • 2026-09-25

在 Linux 内核中,已修复以下漏洞:

perf: RISC-V: 将可用计数器掩码存储为位图(bitmap)

可用的计数器掩码原本是一个无符号长整型(unsigned long),但迭代操作使用的是 RISCV_MAX_COUNTERS,其值为 64。在 RV32 架构上,这会导致读取超出对象边界的情况。此外,使用无符号长整型的位在索引 32 及以上位置进行填充也是错误的。

改用 DECLARE_BITMAP 以及 set_bit/bitmap 辅助函数。在检查事件、分配索引以及停止所有计数器时,遍历每个位图字(bitmap word)以匹配 CFG_MATCH。将计数器基数设置为 i * BITS_PER_LONG。通过一个小型辅助函数共享 CFG_MATCH ecall,以避免重复处理 32 位参数拆分的问题。在 qemu-system-riscv32 上,探测位图中 XLEN 以上的位被设置,因此仅靠第一个字是不够的。

[[email protected]: 更新以应用;修复了 checkpatch.pl 问题]

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

来源

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!