Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d72d946d authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Paolo Bonzini
Browse files

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: default avatarOleg Nesterov <oleg@redhat.com>
Reviewed-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 198c74f4
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -80,12 +80,10 @@ static void async_pf_execute(struct work_struct *work)


	might_sleep();
	might_sleep();


	use_mm(mm);
	down_read(&mm->mmap_sem);
	down_read(&mm->mmap_sem);
	get_user_pages(current, mm, addr, 1, 1, 0, NULL, NULL);
	get_user_pages(current, mm, addr, 1, 1, 0, NULL, NULL);
	up_read(&mm->mmap_sem);
	up_read(&mm->mmap_sem);
	kvm_async_page_present_sync(vcpu, apf);
	kvm_async_page_present_sync(vcpu, apf);
	unuse_mm(mm);


	spin_lock(&vcpu->async_pf.lock);
	spin_lock(&vcpu->async_pf.lock);
	list_add_tail(&apf->link, &vcpu->async_pf.done);
	list_add_tail(&apf->link, &vcpu->async_pf.done);