Database/Kernel, userspace & hypervisor

Linux kernel KVM x86: rechecking L1 I/O intercepts on userspace exit completion leaves pio.count non-zero
Impact
When KVM finishes emulating an instruction that exited to userspace for port I/O, it re-evaluated the L1 I/O permission bitmaps even though it had already committed to performing the access. If L1 or host userspace flips the bitmap during the exit, KVM treats the access as intercepted after the fact, leaves vcpu->arch.pio.count non-zero and hits a WARN, found by syzkaller toggling interception mid-exit. The exposure is to nested virtualization: a guest that can run its own L1 hypervisor can wedge or destabilize the vCPU on the host. On GPU fleets that hand tenants nested-capable VMs with passed-through accelerators, the affected vCPU thread is the one holding the GPU, and the only clean recovery is killing the VM. The fix pivots on EMULTYPE_NO_DECODE to detect completion and skip the recheck.
Who can reach it
Local to the host: a user with /dev/kvm who can create a VM and run nested guests, or a tenant inside a nested-virtualization-enabled VM. No remote or network path; authentication to the host or to the guest is required.
What to do
Apply the stable kernel update for your branch (commits listed in the references) and reload the kvm/kvm_intel modules or reboot the node - module reload requires every VM on the host to be stopped first, so in practice this is a drain-and-reboot per hypervisor node. Where patching must wait, disabling nested virtualization for tenant VMs removes the path.
References
Related entries
- Linux kernel (arch/x86/kvm/svm): VMLOAD/VMSAVE executed by an L2 guest and not intercepted by L1 were emulated againstCVE-2026-43133 · Linux kernel (arch/x86/kvm/svm)High
- Linux kernel KVM nSVM: L2 guest can issue hypercalls as if it were L1 when VMMCALL is not interceptedCVE-2026-46076 · Linux kernel KVM nSVM (unintercepted VMMCALL in L2)High
- util-linux nsenter: --join-cgroup leaks a root-opened cgroup.procs fd into the target containerCVE-2026-78408 · util-linux nsenter (--join-cgroup descriptor leak across execve)High
- Linux kernel KVM/arm64: guest-controlled TLBI Range can overflow the hypervisor's range computationCVE-2026-89911 · Linux kernel KVM arm64 (TLBI by Range)High
- Linux kernel RDS (Reliable Datagram Sockets) net/rds/page.c - rds_page_copy_user: Straight local-to-root. RDS - theCVE-2010-3904 · Linux kernel RDS (Reliable Datagram Sockets) net/rds/page.c - rds_page_copy_userHigh
- Linux kernel KVM device assignment IOMMU path virt/kvm/iommu.c - kvm_iommu_map_pages: When an IOMMU mapping failsCVE-2014-3601 · Linux kernel KVM device assignment IOMMU path virt/kvm/iommu.c - kvm_iommu_map_pagesHigh
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.