[coreboot-gerrit] New patch to review for coreboot: drivers/intel/fsp1_1: Simplify union references
Leroy P Leahy (leroy.p.leahy@intel.com)
gerrit at coreboot.org
Tue May 17 18:11:07 CEST 2016
Leroy P Leahy (leroy.p.leahy at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14870
-gerrit
commit 5c383aa92d91daf9a93afb7a5c5b1f797543c2ce
Author: Lee Leahy <leroy.p.leahy at intel.com>
Date: Tue May 17 09:00:42 2016 -0700
drivers/intel/fsp1_1: Simplify union references
Simplify the union references to enable Coverity to properly process
the routine.
Found-by: Coverify CID 1349854
TEST=Build and run on Galileo Gen2
Change-Id: I667b9bc5fcde7f68cb9b4c8fa85601998e5c81ff
Signed-off-by: Lee Leahy <leroy.p.leahy at intel.com>
---
src/drivers/intel/fsp1_1/fsp_util.c | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/src/drivers/intel/fsp1_1/fsp_util.c b/src/drivers/intel/fsp1_1/fsp_util.c
index 2e748cc..a494038 100644
--- a/src/drivers/intel/fsp1_1/fsp_util.c
+++ b/src/drivers/intel/fsp1_1/fsp_util.c
@@ -29,7 +29,6 @@ FSP_INFO_HEADER *find_fsp(uintptr_t fsp_base_address)
EFI_FIRMWARE_VOLUME_EXT_HEADER *fveh;
EFI_FIRMWARE_VOLUME_HEADER *fvh;
EFI_RAW_SECTION *rs;
- u8 *u8;
u32 u32;
} fsp_ptr;
static const union {
@@ -46,44 +45,44 @@ FSP_INFO_HEADER *find_fsp(uintptr_t fsp_base_address)
/* Check the FV signature, _FVH */
if (fsp_ptr.fvh->Signature != 0x4856465F) {
- fsp_ptr.u8 = (u8 *)ERROR_NO_FV_SIG;
+ fsp_ptr.u32 = ERROR_NO_FV_SIG;
goto header_not_found;
}
/* Locate the file header which follows the FV header. */
- fsp_ptr.u8 += fsp_ptr.fvh->ExtHeaderOffset;
- fsp_ptr.u8 += fsp_ptr.fveh->ExtHeaderSize;
- fsp_ptr.u8 = (u8 *)ALIGN_UP(fsp_ptr.u32, 8);
+ fsp_ptr.u32 += fsp_ptr.fvh->ExtHeaderOffset;
+ fsp_ptr.u32 += fsp_ptr.fveh->ExtHeaderSize;
+ fsp_ptr.u32 = ALIGN_UP(fsp_ptr.u32, 8);
/* Check the FFS GUID */
if ((((u32 *)&fsp_ptr.ffh->Name)[0] != 0x912740BE)
|| (((u32 *)&fsp_ptr.ffh->Name)[1] != 0x47342284)
|| (((u32 *)&fsp_ptr.ffh->Name)[2] != 0xB08471B9)
|| (((u32 *)&fsp_ptr.ffh->Name)[3] != 0x0C3F3527)) {
- fsp_ptr.u8 = (u8 *)ERROR_NO_FFS_GUID;
+ fsp_ptr.u32 = ERROR_NO_FFS_GUID;
goto header_not_found;
}
/* Locate the Raw Section Header */
- fsp_ptr.u8 += sizeof(EFI_FFS_FILE_HEADER);
+ fsp_ptr.u32 += sizeof(EFI_FFS_FILE_HEADER);
if (fsp_ptr.rs->Type != EFI_SECTION_RAW) {
- fsp_ptr.u8 = (u8 *)ERROR_NO_INFO_HEADER;
+ fsp_ptr.u32 = ERROR_NO_INFO_HEADER;
goto header_not_found;
}
/* Locate the FSP INFO Header which follows the Raw Header. */
- fsp_ptr.u8 += sizeof(EFI_RAW_SECTION);
+ fsp_ptr.u32 += sizeof(EFI_RAW_SECTION);
/* Verify that the FSP base address.*/
if (fsp_ptr.fih->ImageBase != fsp_base_address) {
- fsp_ptr.u8 = (u8 *)ERROR_IMAGEBASE_MISMATCH;
+ fsp_ptr.u32 = ERROR_IMAGEBASE_MISMATCH;
goto header_not_found;
}
/* Verify the FSP Signature */
if (fsp_ptr.fih->Signature != FSP_SIG) {
- fsp_ptr.u8 = (u8 *)ERROR_INFO_HEAD_SIG_MISMATCH;
+ fsp_ptr.u32 = ERROR_INFO_HEAD_SIG_MISMATCH;
goto header_not_found;
}
@@ -91,7 +90,7 @@ FSP_INFO_HEADER *find_fsp(uintptr_t fsp_base_address)
image_id = (u32 *)&fsp_ptr.fih->ImageId[0];
if ((image_id[0] != fsp_id.int_id[0])
|| (image_id[1] != fsp_id.int_id[1]))
- fsp_ptr.u8 = (u8 *)ERROR_FSP_SIG_MISMATCH;
+ fsp_ptr.u32 = ERROR_FSP_SIG_MISMATCH;
header_not_found:
return fsp_ptr.fih;
More information about the coreboot-gerrit
mailing list