CVE-2026-98472: KVM: SEV: Free have_run_cpus during VM destruction even if VM is no longer SEV
In the Linux kernel, the following vulnerability has been resolved:
KVM: SEV: Free haveruncpus during VM destruction even if VM is no longer SEV
Unconditionally free SEV's "have run CPUs" cpumask in the VM destroy path, i.e. even for what appear to be non-SEV VMs, as an SEV VM becomes a non-SEV VM if its state is intra-host migrated. Alternatively, the mask could be freed in sevmigratefrom() when "converting" the source VM, but that gets annoying because ideally KVM would nullify the mask to guard against UAF, and nullifying the mask would need be conditioned on CPUMASKOFFSTACK=y.
Freeing the mask during sevmigratefrom() is also not robust against other KVM bugs, though that's kind of a moot point since any such bugs would show up even if sev->active is never set. I.e. KVM must get that side of things correct. But, that's not a great reason to add more code just to make things marginally less robust.