diff options
author | crgeddes <crgeddes@us.ibm.com> | 2017-06-01 09:33:22 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-06-02 12:10:20 -0400 |
commit | f7f718f567895dc5e85747ad33e26ce07c4da4df (patch) | |
tree | 94496d8643be60d1c24ff1ab1c81758faee72a89 /src/usr | |
parent | 6b508aaf86e1d397155ada70bd1678cf5efde9aa (diff) | |
download | talos-hostboot-f7f718f567895dc5e85747ad33e26ce07c4da4df.tar.gz talos-hostboot-f7f718f567895dc5e85747ad33e26ce07c4da4df.zip |
Check SPIRA is valid before attempting to use it in hdatservice
When looking up a host_data_section we need to check that a given
SPIRA contains the section we are looking for. This was breaking
on MPIPL because we attempt to collect dump related data sections
from the SPIRAS which was causing a fail.
Change-Id: I44623ebdaafcfa491ed2e90f9e34b411b77d7e30
CQ: SW390614
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41238
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/runtime/hdatservice.C | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/usr/runtime/hdatservice.C b/src/usr/runtime/hdatservice.C index cd4e31916..0325de8ff 100644 --- a/src/usr/runtime/hdatservice.C +++ b/src/usr/runtime/hdatservice.C @@ -1483,15 +1483,15 @@ errlHndl_t hdatService::getAndCheckTuple(const SectionId i_section, break; } - if( iv_spiraS ) + if( iv_spiraS && l_spiraS != SPIRAS_INVALID ) { o_tuple = &(iv_spiraS->hdatDataArea[l_spiraS]); } - else if( iv_spiraH ) + else if( iv_spiraH && l_spiraH != SPIRAH_INVALID ) { o_tuple = &(iv_spiraH->hdatDataArea[l_spiraH]); } - else if( unlikely(iv_spiraL != nullptr) ) + else if( unlikely(iv_spiraL != nullptr && l_spiraL != SPIRAL_INVALID) ) { o_tuple = &(iv_spiraL->hdatDataArea[l_spiraL]); } |