diff options
| author | Stacey Son <sson@FreeBSD.org> | 2009-05-27 16:20:46 +0000 |
|---|---|---|
| committer | Stacey Son <sson@FreeBSD.org> | 2009-05-27 16:20:46 +0000 |
| commit | 2f98b86b92c842f67e08a7f2e6cf43f39b8ad3ce (patch) | |
| tree | 3e4fbba7ae719844a14ba9462af5226b718e5fe9 /sys | |
| parent | 11c63ede84d1a2de51406bf889d348fa3c37c495 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/ksyms/ksyms.c | 18 |
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 |
