summaryrefslogtreecommitdiff
path: root/vm
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2009-10-14 00:31:30 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2009-10-14 00:31:30 +0200
commit55c57827e99f067cb8f715b1be78d4822005388c (patch)
tree16672604174a4861319693d2ce3224239a0c73d7 /vm
parentdbdf5dc72d025d88d912434203724e177136576e (diff)
Fix return with lock held
vm/vm_map.c (vm_map_copy_overwrite): Unlock dst_map before returning.
Diffstat (limited to 'vm')
-rw-r--r--vm/vm_map.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/vm/vm_map.c b/vm/vm_map.c
index 63438d3d..2c8ad604 100644
--- a/vm/vm_map.c
+++ b/vm/vm_map.c
@@ -2146,8 +2146,10 @@ start_pass_1:
* the copy cannot be interrupted.
*/
- if (interruptible && contains_permanent_objects)
+ if (interruptible && contains_permanent_objects) {
+ vm_map_unlock(dst_map);
return(KERN_FAILURE); /* XXX */
+ }
/*
* XXXO If there are no permanent objects in the destination,