kexec: clear notes during setup
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 7 May 2012 12:32:28 +0000 (13:32 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 7 May 2012 12:32:28 +0000 (13:32 +0100)
Explicity zero the memory backing the crash notes during setup.

This allows the crash environment to be rather more certain whether
the crash notes were actually written, rather than trusting that the
memory was clear beforehand.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
xen/common/kexec.c

index 444cae1b03221cf159be8433d9e3c1edc3490144..09a56249e24d940ef3517dd14a767ebdf4e77406 100644 (file)
@@ -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;
     }