Description
In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Ignore -EBUSY when checking nested events from vcpu_block() Ignore -EBUSY when checking nested events after exiting a blocking state while L2 is active, as exiting to userspace will generate a spurious userspace exit, usually with KVM_EXIT_UNKNOWN, and likely lead to the VM's demise. Continuing with the wakeup isn't perfect either, as *something* has gone sideways if a vCPU is awakened in L2 with an injected event (or worse, a nested run pending), but continuing on gives the VM a decent chance of surviving without any major side effects. As explained in the Fixes commits, it _should_ be impossible for a vCPU to be put into a blocking state with an already-injected event (exception, IRQ, or NMI). Unfortunately, userspace can stuff MP_STATE and/or injected events, and thus put the vCPU into what should be an impossible state. Don't bother trying to preserve the WARN, e.g. with an anti-syzkaller Kconfig, as WARNs can (hopefully) be added in paths where _KVM_ would be violating x86 architecture, e.g. by WARNing if KVM attempts to inject an exception or interrupt while the vCPU isn't running.
Product status
26844fee6adee9b1557d2279b0506285de9ee82b (git) before 78265cd066d73a5cb41c088fcae4a2515e480d97
26844fee6adee9b1557d2279b0506285de9ee82b (git) before ec3be7dc9391085a2d96700e159d66d1328b7ff6
26844fee6adee9b1557d2279b0506285de9ee82b (git) before 2657439265d34a911886b916ba8be97ecc117d51
26844fee6adee9b1557d2279b0506285de9ee82b (git) before 1e88b5f854bdb469424132e0bb44793ad7a7c20a
26844fee6adee9b1557d2279b0506285de9ee82b (git) before 1c957773063ed3264953597e32990a748381caf6
26844fee6adee9b1557d2279b0506285de9ee82b (git) before ead63640d4e72e6f6d464f4e31f7fecb79af8869
6.1
Any version before 6.1
6.1.167 (semver)
6.6.130 (semver)
6.12.77 (semver)
6.18.17 (semver)
6.19.6 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/78265cd066d73a5cb41c088fcae4a2515e480d97
git.kernel.org/...c/ec3be7dc9391085a2d96700e159d66d1328b7ff6
git.kernel.org/...c/2657439265d34a911886b916ba8be97ecc117d51
git.kernel.org/...c/1e88b5f854bdb469424132e0bb44793ad7a7c20a
git.kernel.org/...c/1c957773063ed3264953597e32990a748381caf6
git.kernel.org/...c/ead63640d4e72e6f6d464f4e31f7fecb79af8869