+ crash_base = alignment; + while ((crash_base + crash_size) <= total_mem) { + start = memblock_find_in_range(crash_base, + crash_base + crash_size, crash_size, alignment); + + if (start == crash_base) + break; + + crash_base += alignment; + } + if (start != crash_base) { Open-coded crap violation error! Seriously, these kinds of open-coded loops are *never* acceptable, since they are really "let's violate the interface by making it do something it wasn't intended to do" -- it means we need a new interface. Alternatively, if we really need the lowest possible address, why do we need to search? -hpa