Skip to content
  • Vivek Goyal's avatar
    purgatory: core purgatory functionality · 8fc5b4d4
    Vivek Goyal authored
    
    
    Create a stand alone relocatable object purgatory which runs between two
    kernels.  This name, concept and some code has been taken from
    kexec-tools.  Idea is that this code runs after a crash and it runs in
    minimal environment.  So keep it separate from rest of the kernel and in
    long term we will have to practically do no maintenance of this code.
    
    This code also has the logic to do verify sha256 hashes of various
    segments which have been loaded into memory.  So first we verify that the
    kernel we are jumping to is fine and has not been corrupted and make
    progress only if checsums are verified.
    
    This code also takes care of copying some memory contents to backup region.
    
    [sfr@canb.auug.org.au: run host built programs from objtree]
    Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Eric Biederman <ebiederm@xmission.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Matthew Garrett <mjg59@srcf.ucam.org>
    Cc: Greg Kroah-Hartman <greg@kroah.com>
    Cc: Dave Young <dyoung@redhat.com>
    Cc: WANG Chao <chaowang@redhat.com>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    8fc5b4d4