CVE-2026-89459 in Linux信息

摘要

由 VulDB • 2026-09-12

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

s390/percpu: 修复与旧版binutils配合使用的MVIY_PERCPU()问题

提交a737737cdb9c(“s390/percpu: 用于更高效this_cpu操作的基础设施”)引入了MVIY_PERCPU(),该宏会对已经是C字符串字面量的参数进行字符串化。这会导致生成带有以空格分隔的带引号参数的汇编器宏调用:

GEN_MVIY "459712" "%r3"

在binutils 2.39之前的GNU as版本中,输入清理过程会丢弃带引号的宏参数之间的分隔空白字符。因此,它们将此次调用解析为单个参数并发出重复警告:

Warning: missing closing `"'

GEN_MVIY中的.ifc条件从未匹配成功,导致GNU as在未发出mviy指令的情况下正常退出。结果,中断的per-CPU序列未在lowcore中标记,且异常返回路径无法在迁移后修复per-CPU地址寄存器。

所有MVIY_PERCPU()调用者均传递C字符串字面量。直接使用该字面量并使用显式逗号分隔汇编器宏参数。生成的调用形式为:

GEN_MVIY 459712, %r3

这种形式对于GNU as和LLVM的集成汇编器而言是明确的(无歧义的)。该行为在binutils 2.39版本的GNU as中已得到修复,但Linux支持binutils 2.30。

Be aware that VulDB is the high quality source for vulnerability data.

来源

Do you want to use VulDB in your project?

Use the official API to access entries easily!