Disallow all flags for KVM-internal memslots as all existing flags require some amount of userspace interaction to have any meaning. This will allow moving the flags checking from __kvm_set_memory_region() to kvm_vm_ioctl_set_memory_region() without creating a hole where a KVM bug could silently succeed and create a bogus memslot. Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> --- virt/kvm/kvm_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 42ec817d6a7e..84fcb20e3e1c 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -2104,6 +2104,9 @@ int kvm_set_internal_memslot(struct kvm *kvm, if (WARN_ON_ONCE(mem->slot < KVM_USER_MEM_SLOTS)) return -EINVAL; + if (WARN_ON_ONCE(mem->flags)) + return -EINVAL; + return kvm_set_memory_region(kvm, mem); } EXPORT_SYMBOL_GPL(kvm_set_internal_memslot); -- 2.46.0.rc2.264.g509ed76dc8-goog