prz = cxt->dprzs[cxt->dump_write_cnt];
 
+       /*
+        * Since this is a new crash dump, we need to reset the buffer in
+        * case it still has an old dump present. Without this, the new dump
+        * will get appended, which would seriously confuse anything trying
+        * to check dump file contents. Specifically, ramoops_read_kmsg_hdr()
+        * expects to find a dump header in the beginning of buffer data, so
+        * we must to reset the buffer values, in order to ensure that the
+        * header will be written to the beginning of the buffer.
+        */
+       persistent_ram_zap(prz);
+
        /* Build header and append record contents. */
        hlen = ramoops_write_kmsg_hdr(prz, record);
        if (!hlen)