• Vivek Goyal's avatar
    kdump: fix exported size of vmcoreinfo note · 77019967
    Vivek Goyal authored
    Right now we seem to be exporting the max data size contained inside
    vmcoreinfo note.  But this does not include the size of meta data around
    vmcore info data.  Like name of the note and starting and ending elf_note.
    
    I think user space expects total size and that size is put in PT_NOTE elf
    header.  Things seem to be fine so far because we are not using vmcoreinfo
    note to the maximum capacity.  But as it starts filling up, to capacity,
    at some point of time, problem will be visible.
    
    I don't think user space will be broken with this change.  So there is no
    need to introduce vmcoreinfo2.  This change is safe and backward
    compatible.  More explanation on why this change is safe is below.
    
    vmcoreinfo contains information about kernel which user space needs to
    know to do things like filtering.  For example, various kernel config
    options or information about size or offset of some data structures etc.
    All this information is commmunicated to user space with an ELF note
    present in ELF /proc/vmcore file.
    
    Currently vmcoreinfo data size is 4096.  With some elf note meta data
    around it, actual size is 4132 bytes.  But we are using barely 25% of that
    size.  Rest is empty.  So even if we tell user space that size of ELf note
    is 4096 and not 4132, nothing will be broken becase after around 1000
    bytes, everything is zero anyway.
    
    But once we start filling up the note to the capacity, and not report the
    full size of note, bad things will start happening.  Either some data will
    be lost or tools will be confused that they did not fine the zero note at
    the end.
    
    So I think this change is safe and should not break existing tools.
    Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Cc: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
    Cc: Dan Aloni <da-x@monatomic.org>
    Cc: Greg KH <greg@kroah.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    77019967
ksysfs.c 5.51 KB