On Wed, May 08, 2024, Rick P Edgecombe wrote: > 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. You're _really_ reading too much into my suggestion. As above, my suggestion was very spur of the momemnt. I haven't put much thought into the tradeoffs and side effects.