• Vivek Goyal's avatar
    purgatory/sha256: provide implementation of sha256 in purgaotory context · daeba064
    Vivek Goyal authored
    Next two patches provide code for purgatory.  This is a code which does
    not link against the kernel and runs stand alone.  This code runs between
    two kernels.  One of the primary purpose of this code is to verify the
    digest of newly loaded kernel and making sure it matches the digest
    computed at kernel load time.
    
    We use sha256 for calculating digest of kexec segmetns.  Purgatory can't
    use stanard crypto API as that API is not available in purgatory context.
    
    Hence, I have copied code from crypto/sha256_generic.c and compiled it
    with purgaotry code so that it could be used.  I could not #include
    sha256_generic.c file here as some of the function signature requiered
    little tweaking.  Original functions work with crypto API but these ones
    don't
    
    So instead of doing #include on sha256_generic.c I just copied relevant
    portions of code into arch/x86/purgatory/sha256.c.  Now we shouldn't have
    to touch this code at all.  Do let me know if there are better ways to
    handle it.
    
    This patch does not enable compiling of this code.  That happens in next
    patch.  I wanted to highlight this change in a separate patch for easy
    review.
    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 avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    daeba064
sha256.h 535 Bytes