diff options
| author | Stephen Cprek <smcprek@us.ibm.com> | 2017-12-15 10:24:02 -0600 | 
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-12-20 13:54:35 -0500 | 
| commit | 34dbdc49d0d14933c317be2815302d0d558c5924 (patch) | |
| tree | d65d06b6901b0188057263519bf0b2f127b3ddd0 /src/usr/secureboot/base/header.C | |
| parent | 1dce3206aa219d0cef4501b6795255a730f4ecba (diff) | |
| download | blackbird-hostboot-34dbdc49d0d14933c317be2815302d0d558c5924.tar.gz blackbird-hostboot-34dbdc49d0d14933c317be2815302d0d558c5924.zip  | |
Convert asserts to error logs where it makes sense
Change-Id: Idd15e39cc6be44c0865f13503bfa4482d77fcf0d
RTC:181899
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51042
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/secureboot/base/header.C')
| -rw-r--r-- | src/usr/secureboot/base/header.C | 40 | 
1 files changed, 36 insertions, 4 deletions
diff --git a/src/usr/secureboot/base/header.C b/src/usr/secureboot/base/header.C index 77d756934..58f08c632 100644 --- a/src/usr/secureboot/base/header.C +++ b/src/usr/secureboot/base/header.C @@ -28,6 +28,9 @@  #include <kernel/console.H>  #include <errno.h>  #include <kernel/bltohbdatamgr.H> +#include "../common/securetrace.H" +#include "../common/errlud_secure.H" +#include <secureboot/secure_reasoncodes.H>  namespace SECUREBOOT  { @@ -36,15 +39,44 @@ namespace SECUREBOOT          return Singleton<Header>::instance();      } -    void Header::loadHeader() +    errlHndl_t Header::loadHeader()      { +        errlHndl_t l_errl = nullptr; + +        do { +          const void* const pHeader = g_BlToHbDataManager.getHbbHeader();          // Fatal code bug if called with nullptr pointer -        assert(pHeader != nullptr, -            "BUG! In Header::loadHeader(), expected valid address for base " -            "image header, but got nullptr."); +        if (pHeader == nullptr) +        { +            SB_ERR("Header::loadHeader(), expected valid address for base image header, but got nullptr."); +            /*@ +             * @errortype +             * @severity        ERRORLOG::ERRL_SEV_UNRECOVERABLE +             * @moduleid        SECUREBOOT::MOD_SECURE_LOAD_HEADER +             * @reasoncode      SECUREBOOT::RC_INVALID_BASE_HEADER +             * @userdata1       0 +             * @userdata2       0 +             * @devdesc         Hostboot Base Image Header not valid +             * @custdesc        Firmware Error +             */ +            l_errl = new ERRORLOG::ErrlEntry( +                            ERRORLOG::ERRL_SEV_UNRECOVERABLE, +                            SECUREBOOT::MOD_SECURE_LOAD_HEADER, +                            SECUREBOOT::RC_INVALID_BASE_HEADER, +                            0, +                            0, +                            true); +            addSecureUserDetailsToErrlog(l_errl); +            l_errl->collectTrace(SECURE_COMP_NAME); +            break; +        } +          _set(pHeader); +        } while(0); + +        return l_errl;      }      void Header::_set(  | 

