Page MenuHomeFreeBSD

D45596.diff
No OneTemporary

D45596.diff

diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c
--- a/sys/vm/vm_phys.c
+++ b/sys/vm/vm_phys.c
@@ -711,12 +711,16 @@
#ifdef VM_FREEPOOL_LAZYINIT
if (__predict_false(m->pool == VM_FREEPOOL_LAZYINIT)) {
vm_page_t m_next;
+ vm_paddr_t pa;
int npages;
npages = 1 << order;
m_next = m + npages;
- vm_page_init_page(m_next, m->phys_addr + ptoa(npages), m->segind,
- VM_FREEPOOL_LAZYINIT);
+ pa = m->phys_addr + ptoa(npages);
+ if (pa < vm_phys_segs[m->segind].end) {
+ vm_page_init_page(m_next, pa, m->segind,
+ VM_FREEPOOL_LAZYINIT);
+ }
}
#endif
}

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 20, 3:15 AM (5 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31817343
Default Alt Text
D45596.diff (584 B)

Event Timeline