summaryrefslogtreecommitdiffstats
path: root/sys/compat/freebsd32
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2007-05-01 17:10:01 +0000
committeralc <alc@FreeBSD.org>2007-05-01 17:10:01 +0000
commitd11e79c7955b2cc74163bf03234e65666015b80e (patch)
tree0fa3f948f53e4663f4b5f836f8f0afd81eb1f2f3 /sys/compat/freebsd32
parenta9656f2df2346810815a1d1181ab96c2aba09a45 (diff)
downloadFreeBSD-src-d11e79c7955b2cc74163bf03234e65666015b80e.zip
FreeBSD-src-d11e79c7955b2cc74163bf03234e65666015b80e.tar.gz
Eliminate the use of Giant from ia64-specific code in freebsd32_mmap().
Diffstat (limited to 'sys/compat/freebsd32')
-rw-r--r--sys/compat/freebsd32/freebsd32_misc.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index 3d49263..5254751 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -407,7 +407,6 @@ freebsd32_mmap(struct thread *td, struct freebsd32_mmap_args *uap)
start = addr;
end = addr + len;
- mtx_lock(&Giant);
if (start != trunc_page(start)) {
error = freebsd32_mmap_partial(td, start,
round_page(start), prot,
@@ -438,14 +437,11 @@ freebsd32_mmap(struct thread *td, struct freebsd32_mmap_args *uap)
prot |= VM_PROT_WRITE;
map = &td->td_proc->p_vmspace->vm_map;
rv = vm_map_remove(map, start, end);
- if (rv != KERN_SUCCESS) {
- mtx_unlock(&Giant);
+ if (rv != KERN_SUCCESS)
return (EINVAL);
- }
rv = vm_map_find(map, 0, 0,
&start, end - start, FALSE,
prot, VM_PROT_ALL, 0);
- mtx_unlock(&Giant);
if (rv != KERN_SUCCESS)
return (EINVAL);
r.fd = fd;
@@ -459,7 +455,6 @@ freebsd32_mmap(struct thread *td, struct freebsd32_mmap_args *uap)
td->td_retval[0] = addr;
return (0);
}
- mtx_unlock(&Giant);
if (end == start) {
/*
* After dealing with the ragged ends, there
OpenPOWER on IntegriCloud