Page MenuHomeFreeBSD

D35471.1785230985.diff
No OneTemporary

Size
626 B
Referenced Files
None
Subscribers
None

D35471.1785230985.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
Tue, Jul 28, 9:29 AM (4 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29289237
Default Alt Text
D35471.1785230985.diff (626 B)

Event Timeline