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 @@ -1780,12 +1780,10 @@ { int i; - for (i = 0; phys_avail[i + 1]; i += 2) - continue; - if (i > PHYS_AVAIL_ENTRIES) - panic("Improperly terminated phys_avail %d entries", i); - - return (i); + for (i = 0; i < PHYS_AVAIL_COUNT; i += 2) + if (phys_avail[i] == 0 && phys_avail[i+1] == 0) + return (i); + panic("Improperly terminated phys_avail[]"); } /*