• Eric DeVolder's avatar
    kexec: exclude elfcorehdr from the segment digest · f7cc804a
    Eric DeVolder authored
    When a crash kernel is loaded via the kexec_file_load() syscall, the
    kernel places the various segments (ie crash kernel, crash initrd,
    boot_params, elfcorehdr, purgatory, etc) in memory.  For those
    architectures that utilize purgatory, a hash digest of the segments is
    calculated for integrity checking.  The digest is embedded into the
    purgatory image prior to placing in memory.
    
    Updates to the elfcorehdr in response to CPU and memory changes would
    cause the purgatory integrity checking to fail (at crash time, and no
    vmcore created).  Therefore, the elfcorehdr segment is explicitly excluded
    from the purgatory digest, enabling updates to the elfcorehdr while also
    avoiding the need to recompute the hash digest and reload purgatory.
    
    Link: https://lkml.kernel.org/r/20230814214446.6659-4-eric.devolder@oracle.comSigned-off-by: default avatarEric DeVolder <eric.devolder@oracle.com>
    Suggested-by: default avatarBaoquan He <bhe@redhat.com>
    Reviewed-by: default avatarSourabh Jain <sourabhjain@linux.ibm.com>
    Acked-by: default avatarHari Bathini <hbathini@linux.ibm.com>
    Acked-by: default avatarBaoquan He <bhe@redhat.com>
    Cc: Akhil Raj <lf32.dev@gmail.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Borislav Petkov (AMD) <bp@alien8.de>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Dave Young <dyoung@redhat.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Mimi Zohar <zohar@linux.ibm.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Oscar Salvador <osalvador@suse.de>
    Cc: "Rafael J. Wysocki" <rafael@kernel.org>
    Cc: Sean Christopherson <seanjc@google.com>
    Cc: Takashi Iwai <tiwai@suse.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Thomas Weißschuh <linux@weissschuh.net>
    Cc: Valentin Schneider <vschneid@redhat.com>
    Cc: Vivek Goyal <vgoyal@redhat.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    f7cc804a
kexec_file.c 28.3 KB