diff options
author | alc <alc@FreeBSD.org> | 2006-06-07 17:14:48 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2006-06-07 17:14:48 +0000 |
commit | 0dc86d8ad015557217f5f7b5b6d9e51342089ac7 (patch) | |
tree | ae5c05c897fc0649e15ae01a7fb78ff790e02da6 /sys/arm | |
parent | 835d031b9c59836476b4f4e8fa040810183e50b9 (diff) | |
download | FreeBSD-src-0dc86d8ad015557217f5f7b5b6d9e51342089ac7.zip FreeBSD-src-0dc86d8ad015557217f5f7b5b6d9e51342089ac7.tar.gz |
Properly synchronize access to the pmap in pmap_extract_and_hold().
Eliminate an unneeded variable from pmap_extract_and_hold().
Tested by: cognet@
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/pmap.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c index f91a7f0..9016848 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() |