On Wed, Nov 09, 2022, Gavin Shan wrote: > Hi Sean, > > On 11/9/22 12:25 AM, Sean Christopherson wrote: > > I have no objection to disallowing userspace from disabling the combo, but I > > think it's worth requiring cap->args[0] to be '0' just in case we change our minds > > in the future. > > > > I assume you're suggesting to have non-zero value in cap->args[0] to enable the > capability. > > if (!IS_ENABLED(CONFIG_HAVE_KVM_DIRTY_RING_WITH_BITMAP) || > !kvm->dirty_ring_size || !cap->args[0]) > return r; I was actually thinking of taking the lazy route and requiring userspace to zero the arg, i.e. treat it as a flags extensions. Oh, wait, that's silly. I always forget that `cap->flags` exists. Just this? if (!IS_ENABLED(CONFIG_HAVE_KVM_DIRTY_RING_WITH_BITMAP) || !kvm->dirty_ring_size || cap->flags) return r; It'll be kinda awkward if KVM ever does add a flag to disable the bitmap, but that's seems quite unlikely and not the end of the world if it does happen. And on the other hand, requiring '0' is less weird and less annoying for userspace _now_.