ValidateFmpCapsule(), and DisplayCapsuleImage() receives untrusted input and\r
performs basic validation.\r
\r
- Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
@param[in] PayloadIndex FMP payload index\r
@param[in] ImageHeader FMP image header\r
@param[in] FmpDevicePath DevicePath associated with the FMP producer\r
- @param[in] CapFileName Capsule file name\r
\r
@retval EFI_SUCCESS The capsule status variable is recorded.\r
@retval EFI_OUT_OF_RESOURCES No resource to record the capsule status variable.\r
IN EFI_STATUS CapsuleStatus,\r
IN UINTN PayloadIndex,\r
IN EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER *ImageHeader,\r
- IN EFI_DEVICE_PATH_PROTOCOL *FmpDevicePath, OPTIONAL\r
- IN CHAR16 *CapFileName OPTIONAL\r
+ IN EFI_DEVICE_PATH_PROTOCOL *FmpDevicePath OPTIONAL\r
);\r
\r
/**\r
IN UINTN Completion\r
);\r
\r
-/**\r
- Return if this capsule is a capsule name capsule, based upon CapsuleHeader.\r
-\r
- @param[in] CapsuleHeader A pointer to EFI_CAPSULE_HEADER\r
-\r
- @retval TRUE It is a capsule name capsule.\r
- @retval FALSE It is not a capsule name capsule.\r
-**/\r
-BOOLEAN\r
-IsCapsuleNameCapsule (\r
- IN EFI_CAPSULE_HEADER *CapsuleHeader\r
- )\r
-{\r
- return CompareGuid (&CapsuleHeader->CapsuleGuid, &gEdkiiCapsuleOnDiskNameGuid);\r
-}\r
-\r
/**\r
Return if this CapsuleGuid is a FMP capsule GUID or not.\r
\r
/**\r
Record FMP capsule status.\r
\r
- @param[in] Handle A FMP handle.\r
+ @param[in] Handle A FMP handle.\r
@param[in] CapsuleHeader The capsule image header\r
@param[in] CapsuleStatus The capsule process stauts\r
@param[in] PayloadIndex FMP payload index\r
@param[in] ImageHeader FMP image header\r
- @param[in] CapFileName Capsule file name\r
**/\r
VOID\r
RecordFmpCapsuleStatus (\r
IN EFI_CAPSULE_HEADER *CapsuleHeader,\r
IN EFI_STATUS CapsuleStatus,\r
IN UINTN PayloadIndex,\r
- IN EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER *ImageHeader,\r
- IN CHAR16 *CapFileName OPTIONAL\r
+ IN EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER *ImageHeader\r
)\r
{\r
EFI_STATUS Status;\r
CapsuleStatus,\r
PayloadIndex,\r
ImageHeader,\r
- FmpDevicePath,\r
- CapFileName\r
+ FmpDevicePath\r
);\r
\r
//\r
This function need support nested FMP capsule.\r
\r
@param[in] CapsuleHeader Points to a capsule header.\r
- @param[in] CapFileName Capsule file name.\r
@param[out] ResetRequired Indicates whether reset is required or not.\r
\r
@retval EFI_SUCESS Process Capsule Image successfully.\r
EFI_STATUS\r
ProcessFmpCapsuleImage (\r
IN EFI_CAPSULE_HEADER *CapsuleHeader,\r
- IN CHAR16 *CapFileName, OPTIONAL\r
OUT BOOLEAN *ResetRequired OPTIONAL\r
)\r
{\r
BOOLEAN Abort;\r
\r
if (!IsFmpCapsuleGuid(&CapsuleHeader->CapsuleGuid)) {\r
- return ProcessFmpCapsuleImage ((EFI_CAPSULE_HEADER *)((UINTN)CapsuleHeader + CapsuleHeader->HeaderSize), CapFileName, ResetRequired);\r
+ return ProcessFmpCapsuleImage ((EFI_CAPSULE_HEADER *)((UINTN)CapsuleHeader + CapsuleHeader->HeaderSize), ResetRequired);\r
}\r
\r
NotReady = FALSE;\r
CapsuleHeader,\r
EFI_NOT_READY,\r
Index - FmpCapsuleHeader->EmbeddedDriverCount,\r
- ImageHeader,\r
- CapFileName\r
+ ImageHeader\r
);\r
continue;\r
}\r
CapsuleHeader,\r
EFI_ABORTED,\r
Index - FmpCapsuleHeader->EmbeddedDriverCount,\r
- ImageHeader,\r
- CapFileName\r
+ ImageHeader\r
);\r
continue;\r
}\r
CapsuleHeader,\r
Status,\r
Index - FmpCapsuleHeader->EmbeddedDriverCount,\r
- ImageHeader,\r
- CapFileName\r
+ ImageHeader\r
);\r
}\r
if (HandleBuffer != NULL) {\r
return EFI_SUCCESS;\r
}\r
\r
- //\r
- // Check capsule file name capsule\r
- //\r
- if (IsCapsuleNameCapsule(CapsuleHeader)) {\r
- return EFI_SUCCESS;\r
- }\r
-\r
if (IsFmpCapsule(CapsuleHeader)) {\r
//\r
// Fake capsule header is valid case in QueryCapsuleCpapbilities().\r
Caution: This function may receive untrusted input.\r
\r
@param[in] CapsuleHeader Points to a capsule header.\r
- @param[in] CapFileName Capsule file name.\r
@param[out] ResetRequired Indicates whether reset is required or not.\r
\r
@retval EFI_SUCESS Process Capsule Image successfully.\r
EFIAPI\r
ProcessThisCapsuleImage (\r
IN EFI_CAPSULE_HEADER *CapsuleHeader,\r
- IN CHAR16 *CapFileName, OPTIONAL\r
OUT BOOLEAN *ResetRequired OPTIONAL\r
)\r
{\r
// Process EFI FMP Capsule\r
//\r
DEBUG((DEBUG_INFO, "ProcessFmpCapsuleImage ...\n"));\r
- Status = ProcessFmpCapsuleImage(CapsuleHeader, CapFileName, ResetRequired);\r
+ Status = ProcessFmpCapsuleImage(CapsuleHeader, ResetRequired);\r
DEBUG((DEBUG_INFO, "ProcessFmpCapsuleImage - %r\n", Status));\r
\r
return Status;\r
IN EFI_CAPSULE_HEADER *CapsuleHeader\r
)\r
{\r
- return ProcessThisCapsuleImage (CapsuleHeader, NULL, NULL);\r
+ return ProcessThisCapsuleImage (CapsuleHeader, NULL);\r
}\r
\r
/**\r