summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2001-07-05 17:27:50 +0000
committermjacob <mjacob@FreeBSD.org>2001-07-05 17:27:50 +0000
commitf71125025edae05fa81fb67eabe1bfadd82de1c7 (patch)
tree942a55c001bcc22e1a56fb8cfb5770cac40674c1
parenta4b88b11de1b95c405b7f8c12e2dab2e20e72caf (diff)
downloadFreeBSD-src-f71125025edae05fa81fb67eabe1bfadd82de1c7.zip
FreeBSD-src-f71125025edae05fa81fb67eabe1bfadd82de1c7.tar.gz
Bracket call to vm_page_flag_set with required Giant lock/unlock.
-rw-r--r--sys/alpha/alpha/pmap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/alpha/alpha/pmap.c b/sys/alpha/alpha/pmap.c
index 3e5958a..4eb0c36 100644
--- a/sys/alpha/alpha/pmap.c
+++ b/sys/alpha/alpha/pmap.c
@@ -2887,8 +2887,11 @@ pmap_emulate_reference(struct proc *p, vm_offset_t v, int user, int write)
m->md.pv_flags |= PV_TABLE_REF;
faultoff = PG_FOR | PG_FOE;
- if (user_addr)
+ if (user_addr) {
+ mtx_lock(&Giant);
vm_page_flag_set(m, PG_REFERENCED);
+ mtx_unlock(&Giant);
+ }
if (write) {
m->md.pv_flags |= PV_TABLE_MOD;
OpenPOWER on IntegriCloud