kexec load failure introduced by "x86, memblock: Replace e820_/_early string with memblock_"
H. Peter Anvin
hpa at zytor.com
Mon Sep 27 18:50:31 EDT 2010
+ 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
More information about the kexec
mailing list