munmap: fix deadlock with remote pagefault on vm range lock

Add similar protection to clear_host_pte than to set_host_vma (see #986)

Also make the page fault handler only skip taking lock if the munmap
happened on the same cpu id

Change-Id: I6d9e68e8f8905b20bb2ccfa72848e04fe6404ab6
This commit is contained in:
Dominique Martinet
2019-03-28 14:01:15 +09:00
committed by Balazs Gerofi
parent 621533bbd3
commit a563d780c1
6 changed files with 25 additions and 22 deletions

View File

@@ -115,7 +115,7 @@ arch_clear_host_user_space()
/* XXX: might be unnecessary */
clear_host_pte(th->vm->region.user_start,
(th->vm->region.user_end - th->vm->region.user_start));
(th->vm->region.user_end - th->vm->region.user_start), 0);
return 0;
}

View File

@@ -154,7 +154,7 @@ arch_clear_host_user_space()
/* XXX: might be unnecessary */
clear_host_pte(th->vm->region.user_start,
(th->vm->region.user_end - th->vm->region.user_start));
(th->vm->region.user_end - th->vm->region.user_start), 0);
return 0;
}