Page MenuHomeFreeBSD

D35471.id106865.diff
No OneTemporary

D35471.id106865.diff

Index: sys/vm/vm_fault.c
===================================================================
--- sys/vm/vm_fault.c
+++ sys/vm/vm_fault.c
@@ -2109,8 +2109,15 @@
goto again;
}
pmap_copy_page(src_m, dst_m);
- VM_OBJECT_RUNLOCK(object);
+
+ /*
+ * The object lock does not guarantee that "src_m" will
+ * transition from invalid to valid, but it does ensure
+ * that "src_m" will not transition from valid to
+ * invalid.
+ */
dst_m->dirty = dst_m->valid = src_m->valid;
+ VM_OBJECT_RUNLOCK(object);
} else {
dst_m = src_m;
if (vm_page_busy_acquire(dst_m, VM_ALLOC_WAITFAIL) == 0)

File Metadata

Mime Type
text/plain
Expires
Fri, May 2, 1:06 PM (2 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17905892
Default Alt Text
D35471.id106865.diff (626 B)

Event Timeline