diff options
author | mjacob <mjacob@FreeBSD.org> | 2001-07-05 17:27:50 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2001-07-05 17:27:50 +0000 |
commit | f71125025edae05fa81fb67eabe1bfadd82de1c7 (patch) | |
tree | 942a55c001bcc22e1a56fb8cfb5770cac40674c1 | |
parent | a4b88b11de1b95c405b7f8c12e2dab2e20e72caf (diff) | |
download | FreeBSD-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.c | 5 |
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; |