On Tue, 2024-05-07 at 17:21 -0700, Sean Christopherson wrote: > > Can you elaborate on the reason for a per-memslot flag? We are discussing > > this > > design point internally, and also the intersection with the previous > > attempts to > > do something similar with a per-vm flag[0]. > > > > I'm wondering if the intention is to try to make a memslot flag, so it can > > be > > expanded for the normal VM usage. > > Sure, I'll go with that answer. Like I said, off-the-cuff. > > There's no concrete motiviation, it's more that _if_ we're going to expose a > knob > to userspace, then I'd prefer to make it as precise as possible to minimize > the > changes of KVM ending up back in ABI hell again. > > > Because the discussion on the original attempts, it seems safer to keep this > > behavior more limited (TDX only) for now. And for TDX's usage a struct kvm > > bool fits best because all memslots need to be set to zap_leafs_only = true, > > anyway. > > No they don't. They might be set that way in practice for QEMU, but it's not > strictly required. E.g. nothing would prevent a VMM from exposing a shared- > only > memslot to a guest. The memslots that burned KVM the first time around were > related to VFIO devices, and I wouldn't put it past someone to be crazy enough > to expose an passhtrough an untrusted device to a TDX guest. Ok, thanks for clarification. So it's more of a strategic thing to move more zapping logic into userspace so the logic can change without introducing kernel regressions.