Page MenuHomeFreeBSD

D26499.diff
No OneTemporary

D26499.diff

Index: head/sys/amd64/amd64/pmap.c
===================================================================
--- head/sys/amd64/amd64/pmap.c
+++ head/sys/amd64/amd64/pmap.c
@@ -6525,12 +6525,13 @@
origpte = *pdpe;
MPASS(origpte == 0);
} else {
- mp = PHYS_TO_VM_PAGE(*pml4e & PG_FRAME);
pdpe = pmap_pdpe(pmap, va);
KASSERT(pdpe != NULL, ("va %#lx lost pdpe", va));
origpte = *pdpe;
- if ((origpte & PG_V) == 0)
+ if ((origpte & PG_V) == 0) {
+ mp = PHYS_TO_VM_PAGE(*pml4e & PG_FRAME);
mp->ref_count++;
+ }
}
KASSERT((origpte & PG_V) == 0 || ((origpte & PG_PS) != 0 &&
(origpte & PG_FRAME) == (pten & PG_FRAME)),
@@ -6563,10 +6564,11 @@
} else {
pdpe = pmap_pdpe(pmap, va);
MPASS(pdpe != NULL && (*pdpe & PG_V) != 0);
- mp = PHYS_TO_VM_PAGE(*pdpe & PG_FRAME);
origpte = *pde;
- if ((origpte & PG_V) == 0)
+ if ((origpte & PG_V) == 0) {
+ mp = PHYS_TO_VM_PAGE(*pdpe & PG_FRAME);
mp->ref_count++;
+ }
}
KASSERT((origpte & PG_V) == 0 || ((origpte & PG_PS) != 0 &&
(origpte & PG_FRAME) == (pten & PG_FRAME)),

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 21, 9:54 PM (11 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16005715
Default Alt Text
D26499.diff (1 KB)

Event Timeline