diff options
author | alc <alc@FreeBSD.org> | 2003-11-02 22:52:42 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-11-02 22:52:42 +0000 |
commit | f2e8aed3e6e18aef3f6cee2602985b43ab4a14c3 (patch) | |
tree | 67eb1ca32b5be9dcc611bf9c6072760d64bd5ef5 /sys/vm | |
parent | 7908dcfbce1e0c381cc7a08c905b3acbf4ecd481 (diff) | |
download | FreeBSD-src-f2e8aed3e6e18aef3f6cee2602985b43ab4a14c3.zip FreeBSD-src-f2e8aed3e6e18aef3f6cee2602985b43ab4a14c3.tar.gz |
- Increase the scope of two vm object locks in vm_object_split().
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_object.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index be68111..abf4cf9 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1204,6 +1204,8 @@ vm_object_split(vm_map_entry_t entry) if (new_object == NULL) return; + VM_OBJECT_LOCK(new_object); + VM_OBJECT_LOCK(orig_object); source = orig_object->backing_object; if (source != NULL) { VM_OBJECT_LOCK(source); @@ -1218,8 +1220,6 @@ vm_object_split(vm_map_entry_t entry) orig_object->backing_object_offset + offset; new_object->backing_object = source; } - VM_OBJECT_LOCK(new_object); - VM_OBJECT_LOCK(orig_object); for (idx = 0; idx < size; idx++) { retry: m = vm_page_lookup(orig_object, offidxstart + idx); |