On Tue, Jan 09, 2024 at 10:11:23AM +0800, Yan Zhao wrote: > > Well, for instance, when you install pages into the KVM the hypervisor > > will have taken kernel memory, then zero'd it with cachable writes, > > however the VM can read it incoherently with DMA and access the > > pre-zero'd data since the zero'd writes potentially hasn't left the > > cache. That is an information leakage exploit. > > This makes sense. > How about KVM doing cache flush before installing/revoking the > page if guest memory type is honored? I think if you are going to allow the guest to bypass the cache in any way then KVM should fully flush the cache before allowing the guest to access memory and it should fully flush the cache after removing memory from the guest. Noting that fully removing the memory now includes VFIO too, which is going to be very hard to co-ordinate between KVM and VFIO. ARM has the hooks for most of this in the common code already, so it should not be outrageous to do, but slow I suspect. Jason