powerpc: Unbreak 64-bit pmap from 350206

oldpvo is never explicitly NULL'd by moea64_pvo_enter(), so don't check for
NULL to do anything, only check error.

PR:		239372
Reported by:	Francis Little
This commit is contained in:
Justin Hibbits 2019-07-22 22:59:50 +00:00
parent 39a289c3d5
commit b75bd60a04
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=350232

View File

@ -1449,13 +1449,13 @@ moea64_enter(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_page_t m,
KASSERT(oldpvo->pvo_pmap == pmap, ("pmap of old "
"mapping does not match new mapping"));
moea64_pvo_remove_from_pmap(mmu, oldpvo);
error = moea64_pvo_enter(mmu, pvo, pvo_head, NULL);
moea64_pvo_enter(mmu, pvo, pvo_head, NULL);
}
PV_PAGE_UNLOCK(m);
PMAP_UNLOCK(pmap);
/* Free any dead pages */
if (oldpvo != NULL) {
if (error == EEXIST) {
moea64_pvo_remove_from_page(mmu, oldpvo);
free_pvo_entry(oldpvo);
}
@ -2521,8 +2521,6 @@ moea64_pvo_enter(mmu_t mmu, struct pvo_entry *pvo, struct pvo_head *pvo_head,
struct pvo_entry *old_pvo;
PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED);
KASSERT(moea64_pvo_find_va(pvo->pvo_pmap, PVO_VADDR(pvo)) == NULL,
("Existing mapping for VA %#jx", (uintmax_t)PVO_VADDR(pvo)));
moea64_pvo_enter_calls++;