-
- Downloads
KVM: Introduce KVM_SET_USER_MEMORY_REGION2
Introduce a "version 2" of KVM_SET_USER_MEMORY_REGION so that additional information can be supplied without setting userspace up to fail. The padding in the new kvm_userspace_memory_region2 structure will be used to pass a file descriptor in addition to the userspace_addr, i.e. allow userspace to point at a file descriptor and map memory into a guest that is NOT mapped into host userspace. Alternatively, KVM could simply add "struct kvm_userspace_memory_region2" without a new ioctl(), but as Paolo pointed out, adding a new ioctl() makes detection of bad flags a bit more robust, e.g. if the new fd field is guarded only by a flag and not a new ioctl(), then a userspace bug (setting a "bad" flag) would generate out-of-bounds access instead of an -EINVAL error. Cc: Jarkko Sakkinen <jarkko@kernel.org> Reviewed-by:Paolo Bonzini <pbonzini@redhat.com> Reviewed-by:
Xiaoyao Li <xiaoyao.li@intel.com> Signed-off-by:
Sean Christopherson <seanjc@google.com> Reviewed-by:
Fuad Tabba <tabba@google.com> Tested-by:
Fuad Tabba <tabba@google.com> Message-Id: <20231027182217.3615211-9-seanjc@google.com> Acked-by:
Kai Huang <kai.huang@intel.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
Showing
- Documentation/virt/kvm/api.rst 22 additions, 0 deletionsDocumentation/virt/kvm/api.rst
- arch/x86/kvm/x86.c 1 addition, 1 deletionarch/x86/kvm/x86.c
- include/linux/kvm_host.h 2 additions, 2 deletionsinclude/linux/kvm_host.h
- include/uapi/linux/kvm.h 13 additions, 0 deletionsinclude/uapi/linux/kvm.h
- virt/kvm/kvm_main.c 49 additions, 8 deletionsvirt/kvm/kvm_main.c
Loading
Please register or sign in to comment