From: Oleg Nesterov Date: Mon, 21 Apr 2014 13:26:01 +0000 (+0200) Subject: KVM: async_pf: mm->mm_users can not pin apf->mm X-Git-Tag: v3.2.60~57 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e40d9cf4b9c34971ab42afbe2cb52fa0c6f0cd1;p=pandora-kernel.git KVM: async_pf: mm->mm_users can not pin apf->mm commit 41c22f626254b9dc0376928cae009e73d1b6a49a upstream. 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 Signed-off-by: Paolo Bonzini Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed