From: Oleg Nesterov Date: Mon, 21 Apr 2014 13:25:58 +0000 (+0200) Subject: KVM: async_pf: kill the unnecessary use_mm/unuse_mm async_pf_execute() X-Git-Tag: MMI-PSA29.97-13-9~11772^2~11^2~53 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=d72d946d0b649b79709b99b9d5cb7269fff8afaa;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git KVM: async_pf: kill the unnecessary use_mm/unuse_mm async_pf_execute() async_pf_execute() has no reasons to adopt apf->mm, gup(current, mm) should work just fine even if current has another or NULL ->mm. Recently kvm_async_page_present_sync() was added insedie the "use_mm" section, but it seems that it doesn't need current->mm too. Signed-off-by: Oleg Nesterov Reviewed-by: Andrea Arcangeli Signed-off-by: Paolo Bonzini --- diff --git a/virt/kvm/async_pf.c b/virt/kvm/async_pf.c index 10df100c4514..0ced4f31bc65 100644 --- a/virt/kvm/async_pf.c +++ b/virt/kvm/async_pf.c @@ -80,12 +80,10 @@ static void async_pf_execute(struct work_struct *work) might_sleep(); - use_mm(mm); down_read(&mm->mmap_sem); get_user_pages(current, mm, addr, 1, 1, 0, NULL, NULL); up_read(&mm->mmap_sem); kvm_async_page_present_sync(vcpu, apf); - unuse_mm(mm); spin_lock(&vcpu->async_pf.lock); list_add_tail(&apf->link, &vcpu->async_pf.done);