• Oliver Upton's avatar
    KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2 · 6d849191
    Oliver Upton authored
    KVM_CAP_DISABLE_QUIRKS is irrevocably broken. The capability does not
    advertise the set of quirks which may be disabled to userspace, so it is
    impossible to predict the behavior of KVM. Worse yet,
    KVM_CAP_DISABLE_QUIRKS will tolerate any value for cap->args[0], meaning
    it fails to reject attempts to set invalid quirk bits.
    
    The only valid workaround for the quirky quirks API is to add a new CAP.
    Actually advertise the set of quirks that can be disabled to userspace
    so it can predict KVM's behavior. Reject values for cap->args[0] that
    contain invalid bits.
    
    Finally, add documentation for the new capability and describe the
    existing quirks.
    Signed-off-by: default avatarOliver Upton <oupton@google.com>
    Message-Id: <20220301060351.442881-5-oupton@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    6d849191
x86.c 338 KB