CVE-2026-89459

CVE-2026-89459

High · published September 12, 2026

CVSS v3.1
7.0
EPSS
0%
Percentile
3.1
In the wild
Unconfirmed
What it is

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

s390/percpu: Fix MVIY_PERCPU() with older binutils

Commit a737737cdb9c ("s390/percpu: Infrastructure for more efficient

this_cpu operations") introduced MVIY_PERCPU(), which stringifies

arguments that are already C string literals. This generates an

assembler macro invocation with whitespace-separated quoted arguments:

GEN_MVIY "459712" "%r3"

GNU as versions prior to binutils 2.39 drop the separating whitespace

between quoted macro arguments during input scrubbing. They

consequently parse the invocation as a single argument and emit

repeated warnings:

Warning: missing closing `"'

The .ifc in GEN_MVIY never matches and GNU as exits successfully

without emitting the mviy instruction. As a result, the interrupted

per-CPU sequence is not marked in lowcore and the exception return

path cannot repair the per-CPU address register after migration.

All MVIY_PERCPU() callers pass C string literals. Use them directly

and separate the assembler macro arguments with an explicit comma. The

resulting invocation is:

GEN_MVIY 459712, %r3

This form is unambiguous for GNU as and LLVM's integrated assembler.

This behavior was fixed in GNU as from binutils 2.39, but Linux

supports binutils 2.30.

The record
Technical detail
CVSS v3.1
7.0 · HIGH
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00141 · 3.1th percentile
Published
2026-09-12T00:19Z
References (2)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:43Z
    s390/percpu: Fix MVIY_PERCPU() with older binutils
    cvelistv5