summaryrefslogtreecommitdiffstats
path: root/sys/kern/link_elf.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2005-08-28 04:50:11 +0000
committeralc <alc@FreeBSD.org>2005-08-28 04:50:11 +0000
commitdfddcf2af4d45f1761ceec33ba7c2f9b393df571 (patch)
tree77ec263d5a95bff5f6215856fad2a5d4e2739a77 /sys/kern/link_elf.c
parent826c1863662c205cea42d48bea2c77ea1980e735 (diff)
downloadFreeBSD-src-dfddcf2af4d45f1761ceec33ba7c2f9b393df571.zip
FreeBSD-src-dfddcf2af4d45f1761ceec33ba7c2f9b393df571.tar.gz
Correctly handle vm_map_wire()'s failure. (See also revisions 1.81 and
1.82.) Reviewed by: tegge
Diffstat (limited to 'sys/kern/link_elf.c')
-rw-r--r--sys/kern/link_elf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c
index db3de57..d280908 100644
--- a/sys/kern/link_elf.c
+++ b/sys/kern/link_elf.c
@@ -742,10 +742,14 @@ link_elf_load_file(linker_class_t cls, const char* filename,
/*
* Wire down the pages
*/
- vm_map_wire(kernel_map,
+ error = vm_map_wire(kernel_map,
(vm_offset_t) segbase,
(vm_offset_t) segbase + segs[i]->p_memsz,
VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES);
+ if (error != KERN_SUCCESS) {
+ error = ENOMEM;
+ goto out;
+ }
#endif
}
OpenPOWER on IntegriCloud