KVM: add kvm_is_error_hva()
Check for the "error hva", an address outside the user address space that signals a bad gfn. Signed-off-by: Izik Eidus <izike@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
1a6f4d7fbd
commit
f9d46eb0e4
|
@ -520,6 +520,7 @@ struct page *gva_to_page(struct kvm_vcpu *vcpu, gva_t gva);
|
|||
extern struct page *bad_page;
|
||||
|
||||
int is_error_page(struct page *page);
|
||||
int kvm_is_error_hva(unsigned long addr);
|
||||
int kvm_set_memory_region(struct kvm *kvm,
|
||||
struct kvm_userspace_memory_region *mem,
|
||||
int user_alloc);
|
||||
|
|
|
@ -498,6 +498,17 @@ int is_error_page(struct page *page)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(is_error_page);
|
||||
|
||||
static inline unsigned long bad_hva(void)
|
||||
{
|
||||
return PAGE_OFFSET;
|
||||
}
|
||||
|
||||
int kvm_is_error_hva(unsigned long addr)
|
||||
{
|
||||
return addr == bad_hva();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kvm_is_error_hva);
|
||||
|
||||
gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
|
||||
{
|
||||
int i;
|
||||
|
|
Loading…
Reference in New Issue