summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2005-01-21 01:02:38 +0000
committergrehan <grehan@FreeBSD.org>2005-01-21 01:02:38 +0000
commite8ecd4c9fc0b2dd21266e388dd65b133d852cd35 (patch)
treef0d6402e2cb75778b892418770f168942d9ca376 /sys
parentb05ac67f5e11d06fc6eefd65556f036998a0a0bb (diff)
downloadFreeBSD-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.c2
-rw-r--r--sys/powerpc/powerpc/mmu_oea.c2
-rw-r--r--sys/powerpc/powerpc/pmap.c2
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();
}
/*
OpenPOWER on IntegriCloud