summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-06-15 19:10:19 +0000
committeralc <alc@FreeBSD.org>2002-06-15 19:10:19 +0000
commit12d0065cbf0fb7325119c8dc10021c5277098f44 (patch)
tree5816205d0b91a506a88fcefc7abee15e4215a829 /sys/vm
parentadc2ddac9e71d817246deed734d83ab5dd5648e0 (diff)
downloadFreeBSD-src-12d0065cbf0fb7325119c8dc10021c5277098f44.zip
FreeBSD-src-12d0065cbf0fb7325119c8dc10021c5277098f44.tar.gz
o Remove GIANT_REQUIRED from useracc() and vsunlock(). Neither
vm_map_check_protection() nor vm_map_unwire() expect Giant to be held.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_glue.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c
index cfa78fe..587695b 100644
--- a/sys/vm/vm_glue.c
+++ b/sys/vm/vm_glue.c
@@ -140,8 +140,6 @@ useracc(addr, len, rw)
boolean_t rv;
vm_prot_t prot;
- GIANT_REQUIRED;
-
KASSERT((rw & ~VM_PROT_ALL) == 0,
("illegal ``rw'' argument to useracc (%x)\n", rw));
prot = rw;
@@ -174,12 +172,15 @@ vslock(addr, len)
round_page((vm_offset_t)addr + len), FALSE);
}
+/*
+ * MPSAFE
+ */
void
vsunlock(addr, len)
caddr_t addr;
u_int len;
{
- GIANT_REQUIRED;
+
vm_map_unwire(&curproc->p_vmspace->vm_map,
trunc_page((vm_offset_t)addr),
round_page((vm_offset_t)addr + len), FALSE);
OpenPOWER on IntegriCloud