diff --git a/xen/common/kexec.c b/xen/common/kexec.c index 444cae1b03..09a56249e2 100644 --- a/xen/common/kexec.c +++ b/xen/common/kexec.c @@ -401,7 +401,7 @@ static int kexec_init_cpu_notes(const unsigned long cpu) /* If we dont care about the position of allocation, malloc. */ if ( low_crashinfo_mode == LOW_CRASHINFO_NONE ) - note = xmalloc_bytes(nr_bytes); + note = xzalloc_bytes(nr_bytes); /* Protect the write into crash_notes[] with a spinlock, as this function * is on a hotplug path and a hypercall path. */ @@ -520,6 +520,8 @@ static int __init kexec_init(void) if ( ! crash_heap_current ) return -ENOMEM; + memset(crash_heap_current, 0, crash_heap_size); + crash_heap_end = crash_heap_current + crash_heap_size; }