CVE-2026-90211 PUBLISHED

bpf, s390: Clear fetch destination on faulting arena atomic

Assigner: Linux
Reserved: 11.09.2026 Published: 17.09.2026 Updated: 17.09.2026

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

bpf, s390: Clear fetch destination on faulting arena atomic

Same missing register clear as on riscv64. A RMW atomic on an arena pointer is converted to BPF_PROBE_ATOMIC and gets an exception table entry, but bpf_jit_probe_atomic_pre() only fills in the arena base and the probe offset, leaving probe->reg at the -1 that bpf_jit_probe_init() set, which bpf_jit_probe_post() writes into the entry and ex_handler_bpf() then reads back as "there is nothing to clear".

That is right for a plain BPF_{ADD,AND,OR,XOR}, which only writes memory, but an RMW carrying BPF_FETCH also reads the old value into a register: src_reg for BPF_{ADD,AND,OR,XOR} | BPF_FETCH and BPF_XCHG, and r0 for BPF_CMPXCHG. So on a fault over an unmapped arena page the program resumes at the landing pad with whatever that register held before the atomic instead of the 0 that every other BPF_PROBE_* access delivers.

Fill probe->reg in from bpf_atomic_load_reg(). Unlike x86-64 and arm64, s390x does not report arena violations from its exception handler, so there is no access direction to correct here, only the missing register clear.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 2f9469484a3b52c66b799de73bd1ca75617bc8d5 to 1a26541b3f60ce447433a4c4dd56edb10d2cd580 (excl.)
  • affected from 2f9469484a3b52c66b799de73bd1ca75617bc8d5 to 44b702fceb4cf3a4ddbfb496f487b034814bf1a3 (excl.)
  • affected from 2f9469484a3b52c66b799de73bd1ca75617bc8d5 to cc3e12330599f097f0e1f792435686ddc276f26d (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.11 is affected
  • unaffected from 0 to 6.11 (excl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 7.2.6 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References