mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
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 @@ out:
|
||||
}
|
||||
#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 = {
|
||||
.release = kvm_vm_release,
|
||||
.unlocked_ioctl = kvm_vm_ioctl,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = kvm_vm_compat_ioctl,
|
||||
#endif
|
||||
.mmap = kvm_vm_mmap,
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user