In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction We free the shadow S2 structures from kvm_arch_flush_shadow_all(), which is a Bad Idea(tm). Freeing the page tables is fair game (this is what this callback is for), but freeing the container that could still be referenced by another part of the system is not great. Instead, grow separate destructors that gets called when we tear the VM down for good. From there, we can nuke both the individual MMUs as well as the global array that points to them, safe in the knowledge that the vcpus themselves have been destroyed already.
https://git.kernel.org/stable/c/e5843f4effaa2ffac3e789ecd4456403564961d4
https://git.kernel.org/stable/c/876049f026b4dfaca0cc78ec81be0e639ca8525d
https://git.kernel.org/stable/c/5bf1c9175e657b3c2dc1cf77403031ac7aadcf66
https://git.kernel.org/stable/c/22e82acec93a681071ed36f70eabe2d0c4e0bebd