X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=IntelFspPkg%2FFspSecCore%2FSecFsp.c;h=07aed1c1c06236f12681e25f63906e1663468414;hb=963236092b48013e34c5c889ae4c90b34bd8aef5;hp=a9aba7108e338c971208d360d0499c1561c830a9;hpb=16b7e82c2ba9465e87d634e1da6e3b322279f5f7;p=mirror_edk2.git diff --git a/IntelFspPkg/FspSecCore/SecFsp.c b/IntelFspPkg/FspSecCore/SecFsp.c index a9aba7108e..07aed1c1c0 100644 --- a/IntelFspPkg/FspSecCore/SecFsp.c +++ b/IntelFspPkg/FspSecCore/SecFsp.c @@ -265,7 +265,7 @@ FspApiCallingCheck ( // if ((UINT32)FspData != 0xFFFFFFFF) { Status = EFI_UNSUPPORTED; - } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) { + } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) { Status = EFI_INVALID_PARAMETER; } } else if (ApiIdx == 2) { @@ -285,7 +285,7 @@ FspApiCallingCheck ( // if ((UINT32)FspData != 0xFFFFFFFF) { Status = EFI_UNSUPPORTED; - } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) { + } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) { Status = EFI_INVALID_PARAMETER; } } else if (ApiIdx == 4) { @@ -308,6 +308,8 @@ FspApiCallingCheck ( } else { if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) { Status = EFI_UNSUPPORTED; + } else if (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam))) { + Status = EFI_INVALID_PARAMETER; } } } else {