All vulnerabilities
CVE-2026-98930

Linux: KVM: s390: Fix IRQ injection with SIGP Stop and Store Status

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in3bd77c59576b1d447fd56cc689ae9523a334b924Fixed versionCVE List
Published23 Oct 2026Updated 23 Oct 2026CVE List

What fixes it

  • 3bd77c59576b1d447fd56cc689ae9523a334b924LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

KVM: s390: Fix IRQ injection with SIGP Stop and Store Status

When __inject_sigp_stop() is called for a Stop and Store Status operation, if the vCPU is running, the interrupt is marked as pending and the status is stored by the thread performing the KVM_RUN IOCTL.

If the vCPU is already stopped, the status is stored immediately.

Storing the status means writing into userspace, which might fault, and __inject_sigp_stop() is called from do_inject_vcpu() which in turn is always called holding a spinlock, which is obviously an issue.

Fix this by returning -EWOULDBLOCK from __inject_sigp_stop(), and adding a bool flag to indicate whether a store status is needed. The callers of do_inject_vcpu() are modified to pass the pointer to the bool flag; whenever a Store Status operation is needed, the callers can now perform it outside the spinlock.

Opportunistically refactor kvm_s390_set_irq_state() to use scoped_guard() and __free().

[ Added Fixes tag while picking -- Claudio ]

Text from CVE List

Affected versions 10

  • Linuxaffected: 6cddd432e3da5e25eccbc13844d03c871674a62e before 3bd77c59576b1d447fd56cc689ae9523a334b924CVE List
  • Linuxaffected: 6cddd432e3da5e25eccbc13844d03c871674a62e before a379ac504fcb8c6fc2aa36203f5489b9581eb2e0CVE List
  • Linuxaffected: 6cddd432e3da5e25eccbc13844d03c871674a62e before d0e3bf633f0585a0c2c2105ea7723777d764fae5CVE List
  • Linuxaffected: 6cddd432e3da5e25eccbc13844d03c871674a62e before d343407b728a80b74be3c24b59f15e60289ea527CVE List
  • Linuxaffected: 4.0CVE List
  • Linuxunaffected: all versions before 4.0CVE List
  • Linuxunaffected: 6.12.112 through 6.12.*CVE List
  • Linuxunaffected: 6.18.55 through 6.18.*CVE List
  • Linuxunaffected: 7.2.9 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 4