aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2001-07-05 17:27:50 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2001-07-05 17:27:50 +0000
commit48bd6f600e44e2a627401daddb89b3604104cf87 (patch)
tree942a55c001bcc22e1a56fb8cfb5770cac40674c1
parent45c9a36af5c1db919a901011d3d6c54b290b48fe (diff)
downloadsrc-48bd6f600e44e2a627401daddb89b3604104cf87.tar.gz
src-48bd6f600e44e2a627401daddb89b3604104cf87.zip
Bracket call to vm_page_flag_set with required Giant lock/unlock.
Notes
Notes: svn path=/head/; revision=79337
-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 3e5958aa59cb..4eb0c36d5885 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;