could return 0, and let the caller retry with new ranges. Signed-off-by: Yinghai Lu <yinghai at kernel.org> --- kexec/kexec.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/kexec/kexec.c b/kexec/kexec.c index 8928be0..0f8aec8 100644 --- a/kexec/kexec.c +++ b/kexec/kexec.c @@ -366,10 +366,9 @@ unsigned long add_buffer_phys_virt(struct kexec_info *info, memsz = (memsz + (pagesize - 1)) & ~(pagesize - 1); base = locate_hole(info, memsz, buf_align, buf_min, buf_max, buf_end); - if (base == ULONG_MAX) { - die("locate_hole failed\n"); - } - + if (base == ULONG_MAX) + return 0; + add_segment_phys_virt(info, buf, bufsz, base, memsz, phys); return base; } -- 1.7.7