Page MenuHomeFreeBSD

D45582.diff
No OneTemporary

D45582.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
Sun, Mar 8, 9:11 AM (9 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29383011
Default Alt Text
D45582.diff (667 B)

Event Timeline