Hi Bernhard, Thank you for the patch. It will be merged to the next release. Thanks Ken'ichi Ohmichi Bernhard Walle wrote: > Because of structure member alignment, the simple structure > > struct kdump_sub_header { > unsigned long phys_base; > int dump_level; > }; > > is 16 bytes large on x86_64. So if you fill the two members phys_base and > dump_level with values, you still have uninitialised memory if you write > sizeof(struct kdump_sub_header) to disk. > > This patch initialises everything with zero first to get rid of that problem. > The patch fixes valgrind warning > > ==24152== Syscall param write(buf) points to uninitialised byte(s) > ==24152== at 0x4EEFFC0: write (in /lib64/libc-2.8.so) > ==24152== by 0x40A97D: (within /bin/makedumpfile) > ==24152== by 0x40ACEF: (within /bin/makedumpfile) > ==24152== by 0x41896C: (within /bin/makedumpfile) > ==24152== by 0x4191AA: (within /bin/makedumpfile) > ==24152== by 0x4E48435: (below main) (in /lib64/libc-2.8.so) > ==24152== Address 0x7fefffbfc is on thread 1's stack > > > Signed-off-by: Bernhard Walle <bwalle at suse.de> > > --- > makedumpfile.c | 1 + > 1 file changed, 1 insertion(+) > > --- a/makedumpfile.c > +++ b/makedumpfile.c > @@ -4707,6 +4707,7 @@ write_kdump_header(void) > /* > * Write sub header > */ > + memset(&sub_dump_header, 0, sizeof(struct kdump_sub_header)); > sub_dump_header.phys_base = info->phys_base; > sub_dump_header.dump_level = info->dump_level; > size = sizeof(struct kdump_sub_header); > > _______________________________________________ > kexec mailing list > kexec at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec >