diff options
author | grehan <grehan@FreeBSD.org> | 2005-01-21 01:02:38 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2005-01-21 01:02:38 +0000 |
commit | e8ecd4c9fc0b2dd21266e388dd65b133d852cd35 (patch) | |
tree | f0d6402e2cb75778b892418770f168942d9ca376 /sys | |
parent | b05ac67f5e11d06fc6eefd65556f036998a0a0bb (diff) | |
download | FreeBSD-src-e8ecd4c9fc0b2dd21266e388dd65b133d852cd35.zip FreeBSD-src-e8ecd4c9fc0b2dd21266e388dd65b133d852cd35.tar.gz |
Fix (accidental?) lock order reversal in pmap_remove. Found when
a process that has mmap'd device mem exits.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/powerpc/aim/mmu_oea.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/mmu_oea.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/pmap.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index c8906d3..d4ae909 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -1613,8 +1613,8 @@ pmap_remove(pmap_t pm, vm_offset_t sva, vm_offset_t eva) pmap_pvo_remove(pvo, pteidx); } } - vm_page_unlock_queues(); PMAP_UNLOCK(pm); + vm_page_unlock_queues(); } /* diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c index c8906d3..d4ae909 100644 --- a/sys/powerpc/powerpc/mmu_oea.c +++ b/sys/powerpc/powerpc/mmu_oea.c @@ -1613,8 +1613,8 @@ pmap_remove(pmap_t pm, vm_offset_t sva, vm_offset_t eva) pmap_pvo_remove(pvo, pteidx); } } - vm_page_unlock_queues(); PMAP_UNLOCK(pm); + vm_page_unlock_queues(); } /* diff --git a/sys/powerpc/powerpc/pmap.c b/sys/powerpc/powerpc/pmap.c index c8906d3..d4ae909 100644 --- a/sys/powerpc/powerpc/pmap.c +++ b/sys/powerpc/powerpc/pmap.c @@ -1613,8 +1613,8 @@ pmap_remove(pmap_t pm, vm_offset_t sva, vm_offset_t eva) pmap_pvo_remove(pvo, pteidx); } } - vm_page_unlock_queues(); PMAP_UNLOCK(pm); + vm_page_unlock_queues(); } /* |