Bug 2559640 (CVE-2026-98930) - CVE-2026-98930 kernel: KVM: s390: Fix IRQ injection with SIGP Stop and Store Status
Summary: CVE-2026-98930 kernel: KVM: s390: Fix IRQ injection with SIGP Stop and Store ...
Keywords:
Status: NEW
Alias: CVE-2026-98930
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-23 12:49 UTC by OSIDB Bzimport
Modified: 2026-10-27 14:29 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-23 12:49:19 UTC
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 ]


Note You need to log in before you can comment on or make changes to this bug.