From: Davide Libenzi - Remove a couple of impossible debug checks (unsigneds cannot be negative!) - If __alloc_bootmem_core() fails with a goal and unaligned node_boot_start it'll loop fovever. mm/bootmem.c | 6 +----- 1 files changed, 1 insertion(+), 5 deletions(-) diff -puN mm/bootmem.c~bootmem-fixes mm/bootmem.c --- 25/mm/bootmem.c~bootmem-fixes 2003-07-02 18:11:48.000000000 -0700 +++ 25-akpm/mm/bootmem.c 2003-07-02 18:12:04.000000000 -0700 @@ -84,10 +84,6 @@ static void __init reserve_bootmem_core( if (!size) BUG(); - if (sidx < 0) - BUG(); - if (eidx < 0) - BUG(); if (sidx >= eidx) BUG(); if ((addr >> PAGE_SHIFT) >= bdata->node_low_pfn) @@ -202,7 +198,7 @@ restart_scan: ; } - if (preferred) { + if (preferred > offset) { preferred = offset; goto restart_scan; } _