diff options
author | alc <alc@FreeBSD.org> | 2007-05-01 17:10:01 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2007-05-01 17:10:01 +0000 |
commit | d11e79c7955b2cc74163bf03234e65666015b80e (patch) | |
tree | 0fa3f948f53e4663f4b5f836f8f0afd81eb1f2f3 /sys/compat | |
parent | a9656f2df2346810815a1d1181ab96c2aba09a45 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/compat/freebsd32/freebsd32_misc.c | 7 |
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 |