summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2004-02-22 03:36:51 +0000
committeralc <alc@FreeBSD.org>2004-02-22 03:36:51 +0000
commit28e2e6f950d1ba5f61960c48a265075cb12ef497 (patch)
tree26a8c65b8c2187d2630c7d4fccd0d88f09c5b819 /sys/vm
parent6d00d752a240fbb14fdf51e256ce843e61cb43c9 (diff)
downloadFreeBSD-src-28e2e6f950d1ba5f61960c48a265075cb12ef497.zip
FreeBSD-src-28e2e6f950d1ba5f61960c48a265075cb12ef497.tar.gz
Correct a long-standing race condition in vm_object_page_remove() that
could result in a dirty page being unintentionally freed. Reviewed by: tegge MFC after: 7 days
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_object.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 052f5fe..116a075 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1797,7 +1797,7 @@ again:
if (vm_page_sleep_if_busy(p, TRUE, "vmopar"))
goto again;
if (clean_only && p->valid) {
- vm_page_test_dirty(p);
+ pmap_page_protect(p, VM_PROT_READ | VM_PROT_EXECUTE);
if (p->valid & p->dirty)
continue;
}
OpenPOWER on IntegriCloud