]> www.infradead.org Git - users/dwmw2/linux.git/commit
KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2
authorOliver Upton <oupton@google.com>
Tue, 1 Mar 2022 06:03:47 +0000 (06:03 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 9 Mar 2022 16:29:19 +0000 (11:29 -0500)
commitd5089416b7fbe7ec29e090cbf89c30db3d332561
tree306e532b9049c4ccb9b87f8764e229890ee53f20
parent6cc088e947b9e28ddd34e00d0d68ad95500a15be
KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2

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: Oliver Upton <oupton@google.com>
Message-Id: <20220301060351.442881-5-oupton@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Documentation/virt/kvm/api.rst
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/x86.c
include/uapi/linux/kvm.h