Page MenuHomeFreeBSD

D45582.id139811.diff
No OneTemporary

D45582.id139811.diff

diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c
--- a/sys/powerpc/aim/mmu_radix.c
+++ b/sys/powerpc/aim/mmu_radix.c
@@ -3268,12 +3268,15 @@
uwptpg = NULL;
if ((newpde & PG_W) != 0 && pmap != kernel_pmap) {
uwptpg = vm_page_alloc_noobj(VM_ALLOC_WIRED);
- if (uwptpg == NULL)
+ if (uwptpg == NULL) {
+ pmap_abort_ptp(pmap, va, pdpg);
return (KERN_RESOURCE_SHORTAGE);
+ }
uwptpg->pindex = pmap_l3e_pindex(va);
if (pmap_insert_pt_page(pmap, uwptpg)) {
vm_page_unwire_noq(uwptpg);
vm_page_free(uwptpg);
+ pmap_abort_ptp(pmap, va, pdpg);
return (KERN_RESOURCE_SHORTAGE);
}
pmap_resident_count_inc(pmap, 1);

File Metadata

Mime Type
text/plain
Expires
Tue, May 19, 7:43 AM (14 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33274631
Default Alt Text
D45582.id139811.diff (667 B)

Event Timeline