aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorStacey Son <sson@FreeBSD.org>2009-05-27 16:20:46 +0000
committerStacey Son <sson@FreeBSD.org>2009-05-27 16:20:46 +0000
commit2f98b86b92c842f67e08a7f2e6cf43f39b8ad3ce (patch)
tree3e4fbba7ae719844a14ba9462af5226b718e5fe9 /sys
parent11c63ede84d1a2de51406bf889d348fa3c37c495 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ksyms/ksyms.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/sys/dev/ksyms/ksyms.c b/sys/dev/ksyms/ksyms.c
index 6283471598ac..f725f06058be 100644
--- a/sys/dev/ksyms/ksyms.c
+++ b/sys/dev/ksyms/ksyms.c
@@ -395,29 +395,15 @@ static int
ksyms_unmap(struct thread *td, vm_offset_t addr, size_t sz)
{
vm_map_t map;
- int error;
vm_size_t size;
map = &td->td_proc->p_vmspace->vm_map;
-
size = (vm_size_t) round_page(sz);
- /* check for address wrap-around */
- if (addr + size < addr || addr < vm_map_min(map) ||
- addr + size > vm_map_max(map))
- return (EINVAL);
-
- vm_map_lock(map);
- /* make sure the pages are mapped */
- if (!vm_map_check_protection(map, addr, addr + size, VM_PROT_NONE)) {
- vm_map_unlock(map);
+ if (!vm_map_remove(map, addr, addr + size))
return (EINVAL);
- }
-
- error = vm_map_delete(map, addr, addr + size);
- vm_map_unlock(map);
- return (error);
+ return (0);
}
static void