From 0f7acf64918a5a3c1315a3006056d90c8859c32e Mon Sep 17 00:00:00 2001 From: alc Date: Thu, 22 Jul 2004 02:05:46 +0000 Subject: In pmap_mincore() create a private copy of the pte for use after the pmap lock is released. --- sys/ia64/ia64/pmap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sys/ia64') diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index a6e227a..e26bdc5 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -2188,12 +2188,16 @@ int pmap_mincore(pmap_t pmap, vm_offset_t addr) { pmap_t oldpmap; - struct ia64_lpte *pte; + struct ia64_lpte *pte, tpte; int val = 0; PMAP_LOCK(pmap); oldpmap = pmap_install(pmap); pte = pmap_find_vhpt(addr); + if (pte != NULL) { + tpte = *pte; + pte = &tpte; + } pmap_install(oldpmap); PMAP_UNLOCK(pmap); -- cgit v1.1