From 7a5f63430e4309995114391d4d3e8b31b507f321 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 7 Jun 2006 17:14:48 +0000 Subject: [PATCH] Properly synchronize access to the pmap in pmap_extract_and_hold(). Eliminate an unneeded variable from pmap_extract_and_hold(). Tested by: cognet@ --- sys/arm/arm/pmap.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c index f91a7f0a91f2..90168480c196 100644 --- a/sys/arm/arm/pmap.c +++ b/sys/arm/arm/pmap.c @@ -3720,17 +3720,16 @@ vm_page_t pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot) { struct l2_dtable *l2; - pd_entry_t *pl1pd, l1pd; + pd_entry_t l1pd; pt_entry_t *ptep, pte; vm_paddr_t pa; vm_page_t m = NULL; u_int l1idx; l1idx = L1_IDX(va); - pl1pd = &pmap->pm_l1->l1_kva[l1idx]; - l1pd = *pl1pd; vm_page_lock_queues(); PMAP_LOCK(pmap); + l1pd = pmap->pm_l1->l1_kva[l1idx]; if (l1pte_section_p(l1pd)) { /* * These should only happen for pmap_kernel()