diff options
Diffstat (limited to 'IntelFsp2Pkg/FspSecCore/SecFspApiChk.c')
-rw-r--r-- | IntelFsp2Pkg/FspSecCore/SecFspApiChk.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/IntelFsp2Pkg/FspSecCore/SecFspApiChk.c b/IntelFsp2Pkg/FspSecCore/SecFspApiChk.c index e22a88cc84..35d223a404 100644 --- a/IntelFsp2Pkg/FspSecCore/SecFspApiChk.c +++ b/IntelFsp2Pkg/FspSecCore/SecFspApiChk.c @@ -71,6 +71,19 @@ FspApiCallingCheck ( Status = EFI_INVALID_PARAMETER;
}
}
+ } else if (ApiIdx == FspSmmInitApiIndex) {
+ //
+ // FspSmmInitApiIndex check
+ //
+ if ((FspData == NULL) || ((UINTN)FspData == MAX_ADDRESS) || ((UINTN)FspData == MAX_UINT32)) {
+ Status = EFI_UNSUPPORTED;
+ } else {
+ if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) {
+ Status = EFI_UNSUPPORTED;
+ } else if (EFI_ERROR (FspUpdSignatureCheck (FspSmmInitApiIndex, ApiParam))) {
+ Status = EFI_INVALID_PARAMETER;
+ }
+ }
} else {
Status = EFI_UNSUPPORTED;
}
|