summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_aobj.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2015-02-06 10:58:36 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2015-02-06 10:58:36 +0000
commitf520d2c34a388af8365a4f5a0f523cecfb025906 (patch)
tree0779fad9ce66aaed997effbba1eede3c9441a14d /sys/uvm/uvm_aobj.c
parentaf0766fa94a4bb4930f53b2b705f7a089efb4cd6 (diff)
Clear PQ_AOBJ before calling uvm_pagefree(), clearing up one false XXX
comment (one is fixed, one is deleted). ok kettenis beck
Diffstat (limited to 'sys/uvm/uvm_aobj.c')
-rw-r--r--sys/uvm/uvm_aobj.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/uvm/uvm_aobj.c b/sys/uvm/uvm_aobj.c
index 4f0f11604ea..910197f28fa 100644
--- a/sys/uvm/uvm_aobj.c
+++ b/sys/uvm/uvm_aobj.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_aobj.c,v 1.76 2014/12/23 04:56:47 tedu Exp $ */
+/* $OpenBSD: uvm_aobj.c,v 1.77 2015/02/06 10:58:35 deraadt Exp $ */
/* $NetBSD: uvm_aobj.c,v 1.39 2001/02/18 21:19:08 chs Exp $ */
/*
@@ -880,6 +880,7 @@ uao_detach_locked(struct uvm_object *uobj)
}
pmap_page_protect(pg, PROT_NONE);
uao_dropswap(&aobj->u_obj, pg->offset >> PAGE_SHIFT);
+ atomic_clearbits_int(&pg->pg_flags, PQ_AOBJ);
uvm_pagefree(pg);
}
uvm_unlock_pageq();
@@ -991,6 +992,7 @@ uao_flush(struct uvm_object *uobj, voff_t start, voff_t stop, int flags)
pmap_page_protect(pp, PROT_NONE);
uao_dropswap(uobj, pp->offset >> PAGE_SHIFT);
+ atomic_clearbits_int(&pp->pg_flags, PQ_AOBJ);
uvm_lock_pageq();
uvm_pagefree(pp);
uvm_unlock_pageq();