CVE-2026-98930: KVM: s390: Fix IRQ injection with SIGP Stop and Store Status

Published Oct 23, 2026
·
Updated

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

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

When injectsigpstop() 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 KVMRUN IOCTL.

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

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

Fix this by returning -EWOULDBLOCK from injectsigpstop(), and adding a bool flag to indicate whether a store status is needed. The callers of doinjectvcpu() 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 kvms390setirqstate() to use scopedguard() and free().

[ Added Fixes tag while picking -- Claudio ]

Affected Software

1 affected component
Linux KVM s390

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Modify KVM s390 SIGP Stop and Store Status handling so __inject_sigp_stop() returns -EWOULDBLOCK when the vCPU is running and a status store is required; pass a boolean flag through do_inject_vcpu() callers, perform the userspace status write in the thread executing KVM_RUN outside the spinlock, and store the status immediately when the vCPU is already stopped.

Event History

Oct 23, 2026
CVE Published
via MITRE·12:08 PM
Data Sourced
via MITRE·12:08 PM
Description

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203