alistair23-linux/virt/kvm
Oleg Nesterov 41c22f6262 KVM: async_pf: mm->mm_users can not pin apf->mm
get_user_pages(mm) is simply wrong if mm->mm_users == 0 and exit_mmap/etc
was already called (or is in progress), mm->mm_count can only pin mm->pgd
and mm_struct itself.

Change kvm_setup_async_pf/async_pf_execute to inc/dec mm->mm_users.

kvm_create_vm/kvm_destroy_vm play with ->mm_count too but this case looks
fine at first glance, it seems that this ->mm is only used to verify that
current->mm == kvm->mm.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-04-28 13:04:46 +02:00
..
arm arm, kvm: fix double lock on cpu_add_remove_lock 2014-04-08 13:15:54 +02:00
assigned-dev.c kvm: Use pci_enable_msix_exact() instead of pci_enable_msix() 2014-04-28 11:13:06 +02:00
async_pf.c KVM: async_pf: mm->mm_users can not pin apf->mm 2014-04-28 13:04:46 +02:00
async_pf.h
coalesced_mmio.c KVM: return an error code in kvm_vm_ioctl_register_coalesced_mmio() 2014-01-30 11:56:09 +01:00
coalesced_mmio.h KVM: Make coalesced mmio use a device per zone 2011-09-25 19:17:57 +03:00
eventfd.c KVM: eventfd: Fix lock order inversion. 2014-03-18 17:06:04 +01:00
ioapic.c KVM: ioapic: try to recover if pending_eoi goes out of range 2014-04-04 17:17:24 +02:00
ioapic.h kvm: make local functions static 2014-01-08 19:02:58 -02:00
iodev.h
iommu.c KVM: IOMMU: hva align mapping page size 2013-11-05 09:55:36 +02:00
irq_comm.c KVM: Fix RTC interrupt coalescing tracking 2013-06-27 14:20:53 +03:00
irqchip.c KVM: Move irq routing setup to irqchip.c 2013-04-26 20:27:18 +02:00
Kconfig KVM: async_pf: Provide additional direct page notification 2014-01-30 12:51:38 +01:00
kvm_main.c Merge tag 'kvm-3.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2014-04-02 14:50:10 -07:00
vfio.c kvm/vfio: Support for DMA coherent IOMMUs 2014-02-26 11:38:40 -07:00