Re: kexec load failure introduced by "x86, memblock: Replace e820_/_earlystring with memblock_"

From: H. Peter Anvin
Date: Mon Sep 27 2010 - 18:51:35 EST


+ 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/