o Remove GIANT_REQUIRED from useracc() and vsunlock(). Neither

vm_map_check_protection() nor vm_map_unwire() expect Giant
   to be held.
This commit is contained in:
Alan Cox 2002-06-15 19:10:19 +00:00
parent c4a0032fe3
commit 319490fb7b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=98263

View file

@ -140,8 +140,6 @@ useracc(addr, len, rw)
boolean_t rv; boolean_t rv;
vm_prot_t prot; vm_prot_t prot;
GIANT_REQUIRED;
KASSERT((rw & ~VM_PROT_ALL) == 0, KASSERT((rw & ~VM_PROT_ALL) == 0,
("illegal ``rw'' argument to useracc (%x)\n", rw)); ("illegal ``rw'' argument to useracc (%x)\n", rw));
prot = rw; prot = rw;
@ -174,12 +172,15 @@ vslock(addr, len)
round_page((vm_offset_t)addr + len), FALSE); round_page((vm_offset_t)addr + len), FALSE);
} }
/*
* MPSAFE
*/
void void
vsunlock(addr, len) vsunlock(addr, len)
caddr_t addr; caddr_t addr;
u_int len; u_int len;
{ {
GIANT_REQUIRED;
vm_map_unwire(&curproc->p_vmspace->vm_map, vm_map_unwire(&curproc->p_vmspace->vm_map,
trunc_page((vm_offset_t)addr), trunc_page((vm_offset_t)addr),
round_page((vm_offset_t)addr + len), FALSE); round_page((vm_offset_t)addr + len), FALSE);