Page MenuHomeFreeBSD

D21272.id60882.diff
No OneTemporary

D21272.id60882.diff

Index: sys/vm/vm_reserv.c
===================================================================
--- sys/vm/vm_reserv.c
+++ sys/vm/vm_reserv.c
@@ -317,6 +317,9 @@
seg = &vm_phys_segs[segind];
paddr = roundup2(seg->start, VM_LEVEL_0_SIZE);
while (paddr + VM_LEVEL_0_SIZE <= seg->end) {
+ /* Check paddr to not overflow. */
+ if (paddr + VM_LEVEL_0_SIZE < paddr)
+ break;
rv = &vm_reserv_array[paddr >> VM_LEVEL_0_SHIFT];
fullpop += rv->popcnt == VM_LEVEL_0_NPAGES;
paddr += VM_LEVEL_0_SIZE;
@@ -1056,6 +1059,9 @@
seg = &vm_phys_segs[segind];
paddr = roundup2(seg->start, VM_LEVEL_0_SIZE);
while (paddr + VM_LEVEL_0_SIZE <= seg->end) {
+ /* Check paddr to not overflow. */
+ if (paddr + VM_LEVEL_0_SIZE < paddr)
+ break;
rv = &vm_reserv_array[paddr >> VM_LEVEL_0_SHIFT];
rv->pages = PHYS_TO_VM_PAGE(paddr);
rv->domain = seg->domain;

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 24, 5:02 AM (9 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34274519
Default Alt Text
D21272.id60882.diff (884 B)

Event Timeline