forked from luck/tmp_suning_uos_patched
KVM: remove vm mmap method
It was used in conjunction with KVM_SET_MEMORY_REGION ioctl which was
removed by b74a07beed
in 2010, QEMU stopped using it in 2008, so
it is time to remove the code finally.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
This commit is contained in:
parent
27ef63c7e9
commit
80f5b5e700
|
@ -2528,44 +2528,12 @@ static long kvm_vm_compat_ioctl(struct file *filp,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int kvm_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
|
||||||
{
|
|
||||||
struct page *page[1];
|
|
||||||
unsigned long addr;
|
|
||||||
int npages;
|
|
||||||
gfn_t gfn = vmf->pgoff;
|
|
||||||
struct kvm *kvm = vma->vm_file->private_data;
|
|
||||||
|
|
||||||
addr = gfn_to_hva(kvm, gfn);
|
|
||||||
if (kvm_is_error_hva(addr))
|
|
||||||
return VM_FAULT_SIGBUS;
|
|
||||||
|
|
||||||
npages = get_user_pages(current, current->mm, addr, 1, 1, 0, page,
|
|
||||||
NULL);
|
|
||||||
if (unlikely(npages != 1))
|
|
||||||
return VM_FAULT_SIGBUS;
|
|
||||||
|
|
||||||
vmf->page = page[0];
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct vm_operations_struct kvm_vm_vm_ops = {
|
|
||||||
.fault = kvm_vm_fault,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)
|
|
||||||
{
|
|
||||||
vma->vm_ops = &kvm_vm_vm_ops;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct file_operations kvm_vm_fops = {
|
static struct file_operations kvm_vm_fops = {
|
||||||
.release = kvm_vm_release,
|
.release = kvm_vm_release,
|
||||||
.unlocked_ioctl = kvm_vm_ioctl,
|
.unlocked_ioctl = kvm_vm_ioctl,
|
||||||
#ifdef CONFIG_COMPAT
|
#ifdef CONFIG_COMPAT
|
||||||
.compat_ioctl = kvm_vm_compat_ioctl,
|
.compat_ioctl = kvm_vm_compat_ioctl,
|
||||||
#endif
|
#endif
|
||||||
.mmap = kvm_vm_mmap,
|
|
||||||
.llseek = noop_llseek,
|
.llseek = noop_llseek,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user