Re: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details
Hi all , I had created EDK2 PR, few weeks ago, thought it will be reviewed and approved . Please help to check and approve. https://github.com/tianocore/edk2/pull/5584 https://github.com/tianocore/edk2/pull/5586 https://github.com/tianocore/edk2/pull/5587 Thanks, P. Madhan -Original Message- From: gaoliming Sent: Thursday, March 28, 2024 6:41 AM To: Pethaiyan, Madhan ; Kinney, Michael D ; devel@edk2.groups.io Cc: Liu, Zhiguang ; Li, Yi1 ; 'GuoX Xu' Subject: 回复: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details Madhan: I have no comments for this patch set. Reviewed-by: Liming Gao Have you create Edk2 PR to verify the changes? Thanks Liming > -邮件原件- > 发件人: Pethaiyan, Madhan > 发送时间: 2024年3月14日 16:17 > 收件人: Kinney, Michael D ; > devel@edk2.groups.io > 抄送: Liming Gao ; Liu, Zhiguang > ; Li, Yi1 ; GuoX Xu > > 主题: RE: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo > description details > > Hi Mike , > > I had raised new code review addressing the coding standard errors and those > were not part of my change any way .. > > Thanks, > P. Madhan > > -Original Message- > From: Kinney, Michael D > Sent: Sunday, March 10, 2024 1:47 AM > To: devel@edk2.groups.io; Pethaiyan, Madhan > > Cc: Liming Gao ; Liu, Zhiguang > ; Li, Yi1 ; GuoX Xu > ; Kinney, Michael D > Subject: RE: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , > GetImageInfo description details > > Hi Madhan, > > I created a PR with all 3 related patches to run through EDK II CI. > > https://github.com/tianocore/edk2/pull/5453 > > There are CI failures. Please resolve and send updated patches. > > Thanks, > > Mike > > > -Original Message- > > From: devel@edk2.groups.io On Behalf Of > > Pethaiyan Madhan > > Sent: Friday, March 8, 2024 3:17 PM > > To: devel@edk2.groups.io > > Cc: Pethaiyan, Madhan ; Kinney, Michael > > D ; Liming Gao > > ; Liu, Zhiguang ; > > Li, Yi1 ; GuoX Xu > > Subject: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , > > GetImageInfo description details > > > > 1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): > > Add the following sentence at the end of the Image parameter > > description. "May be NULL with a zero ImageSize in order to > > determine the size of the buffer needed". > > > > Modify the description of "EFI_INVALID_PARAMETER" return code as > > "The ImageSize is not too small and Image is NULL." > > > > 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): > > Add the following sentence at the end of the ImageInfo parameter > > description."May be NULL with a zero ImageInfoSize in order to > > determine the size of the buffer needed". > > > > Modify the description of "EFI_INVALID_PARAMETER" return code as > > "The ImageInfoSize is not too small and Image is NULL." and add new > > descriptions for "EFI_INVALID_PARAMETER" return code. > > > > REF: UEFI spec v2.10 23.1.2 > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 > > > > Cc: Michael D Kinney > > Cc: Liming Gao > > Cc: Zhiguang Liu > > Cc: Yi Li > > Cc: GuoX Xu > > Signed-off-by: Pethaiyan Madhan > > --- > > MdePkg/Include/Protocol/FirmwareManagement.h | 14 -- > > 1 file changed, 12 insertions(+), 2 deletions(-) > > > > diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h > > b/MdePkg/Include/Protocol/FirmwareManagement.h > > index e535bb697d..90b7d83c8f 100644 > > --- a/MdePkg/Include/Protocol/FirmwareManagement.h > > +++ b/MdePkg/Include/Protocol/FirmwareManagement.h > > @@ -294,6 +294,8 @@ EFI_STATUS > > to contain the image(s) > > information if the buffer was too small. > >@param[in, out] ImageInfo A pointer to the buffer in which > > firmware places the current image(s) > > information. The > information is > > an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. > > + May be NULL with a zero > > ImageInfoSize in order to determine the size of the > > + buffer needed. > >@param[out] DescriptorVersion A pointer to the location in > > which firmware returns the version number > > associated with the > > EFI_FIRMWARE_IMAGE_DESCRIPTOR. > >@param[out] DescriptorCountA pointer to the location in > >
Re: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details
Hi All , Remider , request to review and provide feedback , Thanks, P. Madhan -Original Message- From: Pethaiyan, Madhan Sent: Thursday, March 14, 2024 1:47 PM To: Kinney, Michael D ; devel@edk2.groups.io Cc: Liming Gao ; Liu, Zhiguang ; Li, Yi1 ; GuoX Xu Subject: RE: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details Hi Mike , I had raised new code review addressing the coding standard errors and those were not part of my change any way .. Thanks, P. Madhan -Original Message- From: Kinney, Michael D Sent: Sunday, March 10, 2024 1:47 AM To: devel@edk2.groups.io; Pethaiyan, Madhan Cc: Liming Gao ; Liu, Zhiguang ; Li, Yi1 ; GuoX Xu ; Kinney, Michael D Subject: RE: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details Hi Madhan, I created a PR with all 3 related patches to run through EDK II CI. https://github.com/tianocore/edk2/pull/5453 There are CI failures. Please resolve and send updated patches. Thanks, Mike > -Original Message- > From: devel@edk2.groups.io On Behalf Of > Pethaiyan Madhan > Sent: Friday, March 8, 2024 3:17 PM > To: devel@edk2.groups.io > Cc: Pethaiyan, Madhan ; Kinney, Michael D > ; Liming Gao ; > Liu, Zhiguang ; Li, Yi1 ; > GuoX Xu > Subject: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , > GetImageInfo description details > > 1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): > Add the following sentence at the end of the Image parameter > description. "May be NULL with a zero ImageSize in order to determine > the size of the buffer needed". > > Modify the description of "EFI_INVALID_PARAMETER" return code as "The > ImageSize is not too small and Image is NULL." > > 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): > Add the following sentence at the end of the ImageInfo parameter > description."May be NULL with a zero ImageInfoSize in order to > determine the size of the buffer needed". > > Modify the description of "EFI_INVALID_PARAMETER" return code as "The > ImageInfoSize is not too small and Image is NULL." and add new > descriptions for "EFI_INVALID_PARAMETER" return code. > > REF: UEFI spec v2.10 23.1.2 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 > > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Yi Li > Cc: GuoX Xu > Signed-off-by: Pethaiyan Madhan > --- > MdePkg/Include/Protocol/FirmwareManagement.h | 14 -- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h > b/MdePkg/Include/Protocol/FirmwareManagement.h > index e535bb697d..90b7d83c8f 100644 > --- a/MdePkg/Include/Protocol/FirmwareManagement.h > +++ b/MdePkg/Include/Protocol/FirmwareManagement.h > @@ -294,6 +294,8 @@ EFI_STATUS > to contain the image(s) > information if the buffer was too small. >@param[in, out] ImageInfo A pointer to the buffer in which > firmware places the current image(s) > information. The information is > an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. > + May be NULL with a zero > ImageInfoSize in order to determine the size of the > + buffer needed. >@param[out] DescriptorVersion A pointer to the location in > which firmware returns the version number > associated with the > EFI_FIRMWARE_IMAGE_DESCRIPTOR. >@param[out] DescriptorCountA pointer to the location in > which firmware returns the number of > @@ -314,7 +316,12 @@ EFI_STATUS >@retval EFI_SUCCESSThe device was successfully > updated with the new image. >@retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too > small. The current buffer size > needed to hold the image(s) > information is returned in ImageInfoSize. > - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small > and ImageInfo is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > DescriptorVersion is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > DescriptorCount is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > DescriptorSize is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > PackageVersion is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > PackageVersionName is NULL. >@retval EFI_DEVICE_ERROR
Re: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details
Hi Mike , I had raised new code review addressing the coding standard errors and those were not part of my change any way .. Thanks, P. Madhan -Original Message- From: Kinney, Michael D Sent: Sunday, March 10, 2024 1:47 AM To: devel@edk2.groups.io; Pethaiyan, Madhan Cc: Liming Gao ; Liu, Zhiguang ; Li, Yi1 ; GuoX Xu ; Kinney, Michael D Subject: RE: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details Hi Madhan, I created a PR with all 3 related patches to run through EDK II CI. https://github.com/tianocore/edk2/pull/5453 There are CI failures. Please resolve and send updated patches. Thanks, Mike > -Original Message- > From: devel@edk2.groups.io On Behalf Of > Pethaiyan Madhan > Sent: Friday, March 8, 2024 3:17 PM > To: devel@edk2.groups.io > Cc: Pethaiyan, Madhan ; Kinney, Michael D > ; Liming Gao ; > Liu, Zhiguang ; Li, Yi1 ; > GuoX Xu > Subject: [edk2-devel] [PATCH V1] MdePkg: Update GetImage , > GetImageInfo description details > > 1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): > Add the following sentence at the end of the Image parameter > description. "May be NULL with a zero ImageSize in order to determine > the size of the buffer needed". > > Modify the description of "EFI_INVALID_PARAMETER" return code as "The > ImageSize is not too small and Image is NULL." > > 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): > Add the following sentence at the end of the ImageInfo parameter > description."May be NULL with a zero ImageInfoSize in order to > determine the size of the buffer needed". > > Modify the description of "EFI_INVALID_PARAMETER" return code as "The > ImageInfoSize is not too small and Image is NULL." and add new > descriptions for "EFI_INVALID_PARAMETER" return code. > > REF: UEFI spec v2.10 23.1.2 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 > > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Yi Li > Cc: GuoX Xu > Signed-off-by: Pethaiyan Madhan > --- > MdePkg/Include/Protocol/FirmwareManagement.h | 14 -- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h > b/MdePkg/Include/Protocol/FirmwareManagement.h > index e535bb697d..90b7d83c8f 100644 > --- a/MdePkg/Include/Protocol/FirmwareManagement.h > +++ b/MdePkg/Include/Protocol/FirmwareManagement.h > @@ -294,6 +294,8 @@ EFI_STATUS > to contain the image(s) > information if the buffer was too small. >@param[in, out] ImageInfo A pointer to the buffer in which > firmware places the current image(s) > information. The information is > an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. > + May be NULL with a zero > ImageInfoSize in order to determine the size of the > + buffer needed. >@param[out] DescriptorVersion A pointer to the location in > which firmware returns the version number > associated with the > EFI_FIRMWARE_IMAGE_DESCRIPTOR. >@param[out] DescriptorCountA pointer to the location in > which firmware returns the number of > @@ -314,7 +316,12 @@ EFI_STATUS >@retval EFI_SUCCESSThe device was successfully > updated with the new image. >@retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too > small. The current buffer size > needed to hold the image(s) > information is returned in ImageInfoSize. > - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small > and ImageInfo is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > DescriptorVersion is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > DescriptorCount is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > DescriptorSize is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > PackageVersion is NULL. > + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and > PackageVersionName is NULL. >@retval EFI_DEVICE_ERROR Valid information could not be > returned. Possible corrupted image. > > **/ > @@ -341,6 +348,9 @@ EFI_STATUS >@param[in] ImageIndex A unique number identifying the > firmware image(s) within the device. > The number is between 1 and > DescriptorCount. >@param[out] Im
[edk2-devel] [PATCH V1 1/3] FmpDevicePkg: GetImageInfo Add missing conditions
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- FmpDevicePkg/FmpDxe/FmpDxe.c | 52 +--- FmpDevicePkg/FmpDxe/FmpDxe.h | 15 --- 2 files changed, 43 insertions(+), 24 deletions(-) diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c b/FmpDevicePkg/FmpDxe/FmpDxe.c index 1e7ec4a09e..4111b7cb8e 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.c +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c @@ -43,20 +43,20 @@ const FIRMWARE_MANAGEMENT_PRIVATE_DATA mFirmwareManagementPrivateDataTemplate = FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE, // Signature NULL, // Handle {// Fmp -GetTheImageInfo, +GetImageInfo, GetTheImage, SetTheImage, CheckTheImage, GetPackageInfo, SetPackageInfo }, - FALSE,// DescriptorPopulated - { // Desc -1, // ImageIndex + FALSE, // DescriptorPopulated + {// Desc +1, // ImageIndex // // ImageTypeId // -{ 0x, 0x,0x, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } +{ 0x, 0x,0x, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, 1, // ImageId NULL, // ImageIdName @@ -71,18 +71,18 @@ const FIRMWARE_MANAGEMENT_PRIVATE_DATA mFirmwareManagementPrivateDataTemplate = 0, // LastAttemptStatus 0 // HardwareInstance }, - NULL, // ImageIdName - NULL, // VersionName - TRUE, // RuntimeVersionSupported - NULL, // FmpDeviceLockEvent - FALSE,// FmpDeviceLocked - NULL, // FmpDeviceContext - NULL, // VersionVariableName - NULL, // LsvVariableName - NULL, // LastAttemptStatusVariableName - NULL, // LastAttemptVersionVariableName - NULL, // FmpStateVariableName - TRUE // DependenciesSatisfied + NULL,// ImageIdName + NULL,// VersionName + TRUE,// RuntimeVersionSupported + NULL,// FmpDeviceLockEvent + FALSE, // FmpDeviceLocked + NULL,// FmpDeviceContext + NULL,// VersionVariableName + NULL,// LsvVariableName + NULL,// LastAttemptStatusVariableName + NULL,// LastAttemptVersionVariableName + NULL,// FmpStateVariableName + TRUE // DependenciesSatisfied }; /// @@ -417,6 +417,8 @@ PopulateDescriptor ( to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -437,13 +439,18 @@ PopulateDescriptor ( @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is n
[edk2-devel] [PATCH V1 3/3] SignedCapsulePkg: Update GetImage and GetImageInfo description details
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- .../SystemFirmwareUpdate/SystemFirmwareCommonDxe.c | 13 +++-- .../SystemFirmwareUpdate/SystemFirmwareDxe.h| 13 +++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c b/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c index 077bd0cb31..6e394d85d4 100644 --- a/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c +++ b/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c @@ -34,6 +34,8 @@ EFI_FIRMWARE_MANAGEMENT_PROTOCOL mFirmwareManagementProtocol = { to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -54,7 +56,12 @@ EFI_FIRMWARE_MANAGEMENT_PROTOCOL mFirmwareManagementProtocol = { @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ @@ -153,6 +160,8 @@ FmpGetImageInfo ( @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[in,out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. @param[in,out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in bytes. @@ -160,7 +169,7 @@ FmpGetImageInfo ( @retval EFI_BUFFER_TOO_SMALL The buffer specified by ImageSize is too small to hold the image. The current buffer size needed to hold the image is returned in ImageSize. - @retval EFI_INVALID_PARAMETER The Image was NULL. + @retval EFI_INVALID_PARAMETER The ImageSize is not too small and Image is NULL @retval EFI_NOT_FOUND The current image is not copied to the buffer. @retval EFI_UNSUPPORTEDThe operation is not supported. @retval EFI_SECURITY_VIOLATION The operation could not be performed due to an authentication failure. diff --git a/SignedCapsulePkg/Universal/
[edk2-devel] [PATCH V1 2/3] MdePkg: Update GetImage , GetImageInfo description details
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- MdePkg/Include/Protocol/FirmwareManagement.h | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h b/MdePkg/Include/Protocol/FirmwareManagement.h index e535bb697d..90b7d83c8f 100644 --- a/MdePkg/Include/Protocol/FirmwareManagement.h +++ b/MdePkg/Include/Protocol/FirmwareManagement.h @@ -294,6 +294,8 @@ EFI_STATUS to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -314,7 +316,12 @@ EFI_STATUS @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ @@ -341,6 +348,9 @@ EFI_STATUS @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. + @param[in, out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in bytes. @@ -348,7 +358,7 @@ EFI_STATUS @retval EFI_BUFFER_TOO_SMALL The buffer specified by ImageSize is too small to hold the image. The current buffer size needed to hold the image is returned in ImageSize. - @retval EFI_INVALID_PARAMETER The Image was NULL. + @retval EFI_INVALID_PARAMETER The ImageSize is not too small and Image is NULL. @retval EFI_NOT_FOUND The current image is not copied to the buffer. @retval EFI_UNSUPPORTEDThe operation is not supported. @retval EFI_SECURITY_VIOLATION The operation could not be performed due to an authentication failure. -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116853): https://edk2.groups.io/g/devel/message/116853 Mute This Topic: https://groups.io/mt/105014730/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V1] MdePkg: Update GetImage , GetImageInfo description details
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- MdePkg/Include/Protocol/FirmwareManagement.h | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h b/MdePkg/Include/Protocol/FirmwareManagement.h index e535bb697d..90b7d83c8f 100644 --- a/MdePkg/Include/Protocol/FirmwareManagement.h +++ b/MdePkg/Include/Protocol/FirmwareManagement.h @@ -294,6 +294,8 @@ EFI_STATUS to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -314,7 +316,12 @@ EFI_STATUS @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ @@ -341,6 +348,9 @@ EFI_STATUS @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. + @param[in, out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in bytes. @@ -348,7 +358,7 @@ EFI_STATUS @retval EFI_BUFFER_TOO_SMALL The buffer specified by ImageSize is too small to hold the image. The current buffer size needed to hold the image is returned in ImageSize. - @retval EFI_INVALID_PARAMETER The Image was NULL. + @retval EFI_INVALID_PARAMETER The ImageSize is not too small and Image is NULL. @retval EFI_NOT_FOUND The current image is not copied to the buffer. @retval EFI_UNSUPPORTEDThe operation is not supported. @retval EFI_SECURITY_VIOLATION The operation could not be performed due to an authentication failure. -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116555): https://edk2.groups.io/g/devel/message/116555 Mute This Topic: https://groups.io/mt/104819885/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V1] SignedCapsulePkg: Update GetImage and GetImageInfo description details
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- .../SystemFirmwareUpdate/SystemFirmwareCommonDxe.c | 13 +++-- .../SystemFirmwareUpdate/SystemFirmwareDxe.h| 13 +++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c b/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c index 077bd0cb31..6e394d85d4 100644 --- a/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c +++ b/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c @@ -34,6 +34,8 @@ EFI_FIRMWARE_MANAGEMENT_PROTOCOL mFirmwareManagementProtocol = { to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -54,7 +56,12 @@ EFI_FIRMWARE_MANAGEMENT_PROTOCOL mFirmwareManagementProtocol = { @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ @@ -153,6 +160,8 @@ FmpGetImageInfo ( @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[in,out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. @param[in,out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in bytes. @@ -160,7 +169,7 @@ FmpGetImageInfo ( @retval EFI_BUFFER_TOO_SMALL The buffer specified by ImageSize is too small to hold the image. The current buffer size needed to hold the image is returned in ImageSize. - @retval EFI_INVALID_PARAMETER The Image was NULL. + @retval EFI_INVALID_PARAMETER The ImageSize is not too small and Image is NULL @retval EFI_NOT_FOUND The current image is not copied to the buffer. @retval EFI_UNSUPPORTEDThe operation is not supported. @retval EFI_SECURITY_VIOLATION The operation could not be performed due to an authentication failure. diff --git a/SignedCapsulePkg/Universal/
[edk2-devel] [PATCH V5] FmpDevicePkg: GetImageInfo Add missing conditions
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4660 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- FmpDevicePkg/FmpDxe/FmpDxe.c | 20 +++- FmpDevicePkg/FmpDxe/FmpDxe.h | 15 --- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c b/FmpDevicePkg/FmpDxe/FmpDxe.c index 1e7ec4a09e..1d580c9f69 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.c +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c @@ -43,7 +43,7 @@ const FIRMWARE_MANAGEMENT_PRIVATE_DATA mFirmwareManagementPrivateDataTemplate = FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE, // Signature NULL, // Handle {// Fmp -GetTheImageInfo, +GetImageInfo, GetTheImage, SetTheImage, CheckTheImage, @@ -417,6 +417,8 @@ PopulateDescriptor ( to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -437,13 +439,18 @@ PopulateDescriptor ( @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ EFI_STATUS EFIAPI -GetTheImageInfo ( +GetImageInfo ( IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN OUT UINTN *ImageInfoSize, IN OUT EFI_FIRMWARE_IMAGE_DESCRIPTOR *ImageInfo, @@ -495,7 +502,7 @@ GetTheImageInfo ( // Confirm that buffer isn't null // if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL) - || (PackageVersion == NULL)) + || (PackageVersion == NULL) || (PackageVersionName == NULL)) { DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetImageInfo() - Pointer Parameter is NULL.\n", mImageIdName)); Status = EFI_INVALID_PARAMETER; @@ -544,6 +551,9 @@ cleanup: @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[in, out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. + @param[in, out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in by
[edk2-devel] [PATCH] MdePkg: Update GetImage , GetImageInfo description details
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- MdePkg/Include/Protocol/FirmwareManagement.h | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Protocol/FirmwareManagement.h b/MdePkg/Include/Protocol/FirmwareManagement.h index e535bb697d..90b7d83c8f 100644 --- a/MdePkg/Include/Protocol/FirmwareManagement.h +++ b/MdePkg/Include/Protocol/FirmwareManagement.h @@ -294,6 +294,8 @@ EFI_STATUS to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -314,7 +316,12 @@ EFI_STATUS @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ @@ -341,6 +348,9 @@ EFI_STATUS @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. + @param[in, out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in bytes. @@ -348,7 +358,7 @@ EFI_STATUS @retval EFI_BUFFER_TOO_SMALL The buffer specified by ImageSize is too small to hold the image. The current buffer size needed to hold the image is returned in ImageSize. - @retval EFI_INVALID_PARAMETER The Image was NULL. + @retval EFI_INVALID_PARAMETER The ImageSize is not too small and Image is NULL. @retval EFI_NOT_FOUND The current image is not copied to the buffer. @retval EFI_UNSUPPORTEDThe operation is not supported. @retval EFI_SECURITY_VIOLATION The operation could not be performed due to an authentication failure. -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116038): https://edk2.groups.io/g/devel/message/116038 Mute This Topic: https://groups.io/mt/104601542/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V4] FmpDevicePkg: GetImageInfo Add missing conditions
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- FmpDevicePkg/FmpDxe/FmpDxe.c | 20 +++- FmpDevicePkg/FmpDxe/FmpDxe.h | 15 --- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c b/FmpDevicePkg/FmpDxe/FmpDxe.c index 1e7ec4a09e..1d580c9f69 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.c +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c @@ -43,7 +43,7 @@ const FIRMWARE_MANAGEMENT_PRIVATE_DATA mFirmwareManagementPrivateDataTemplate = FIRMWARE_MANAGEMENT_PRIVATE_DATA_SIGNATURE, // Signature NULL, // Handle {// Fmp -GetTheImageInfo, +GetImageInfo, GetTheImage, SetTheImage, CheckTheImage, @@ -417,6 +417,8 @@ PopulateDescriptor ( to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -437,13 +439,18 @@ PopulateDescriptor ( @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ EFI_STATUS EFIAPI -GetTheImageInfo ( +GetImageInfo ( IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, IN OUT UINTN *ImageInfoSize, IN OUT EFI_FIRMWARE_IMAGE_DESCRIPTOR *ImageInfo, @@ -495,7 +502,7 @@ GetTheImageInfo ( // Confirm that buffer isn't null // if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL) - || (PackageVersion == NULL)) + || (PackageVersion == NULL) || (PackageVersionName == NULL)) { DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetImageInfo() - Pointer Parameter is NULL.\n", mImageIdName)); Status = EFI_INVALID_PARAMETER; @@ -544,6 +551,9 @@ cleanup: @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[in, out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. + @param[in, out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in bytes. @@ -551,7 +561,7 @@ cleanup: @retva
[edk2-devel] [PATCH] SignedCapsulePkg: Update GetImage and GetImageInfo description details
1.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImage(): Add the following sentence at the end of the Image parameter description. "May be NULL with a zero ImageSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageSize is not too small and Image is NULL." 2.For EFI_FIRMWARE_MANAGEMENT_PROTOCOL.GetImageInfo(): Add the following sentence at the end of the ImageInfo parameter description."May be NULL with a zero ImageInfoSize in order to determine the size of the buffer needed". Modify the description of "EFI_INVALID_PARAMETER" return code as "The ImageInfoSize is not too small and Image is NULL." and add new descriptions for "EFI_INVALID_PARAMETER" return code. REF: UEFI spec v2.10 23.1.2 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Yi Li Cc: GuoX Xu Signed-off-by: Pethaiyan Madhan --- .../SystemFirmwareUpdate/SystemFirmwareCommonDxe.c | 13 +++-- .../SystemFirmwareUpdate/SystemFirmwareDxe.h| 13 +++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c b/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c index 077bd0cb31..6e394d85d4 100644 --- a/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c +++ b/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareCommonDxe.c @@ -34,6 +34,8 @@ EFI_FIRMWARE_MANAGEMENT_PROTOCOL mFirmwareManagementProtocol = { to contain the image(s) information if the buffer was too small. @param[in, out] ImageInfo A pointer to the buffer in which firmware places the current image(s) information. The information is an array of EFI_FIRMWARE_IMAGE_DESCRIPTORs. + May be NULL with a zero ImageInfoSize in order to determine the size of the + buffer needed. @param[out] DescriptorVersion A pointer to the location in which firmware returns the version number associated with the EFI_FIRMWARE_IMAGE_DESCRIPTOR. @param[out] DescriptorCountA pointer to the location in which firmware returns the number of @@ -54,7 +56,12 @@ EFI_FIRMWARE_MANAGEMENT_PROTOCOL mFirmwareManagementProtocol = { @retval EFI_SUCCESSThe device was successfully updated with the new image. @retval EFI_BUFFER_TOO_SMALL The ImageInfo buffer was too small. The current buffer size needed to hold the image(s) information is returned in ImageInfoSize. - @retval EFI_INVALID_PARAMETER ImageInfoSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is not too small and ImageInfo is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorCount is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and DescriptorSize is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersion is NULL. + @retval EFI_INVALID_PARAMETER ImageInfoSize is non-zero and PackageVersionName is NULL. @retval EFI_DEVICE_ERROR Valid information could not be returned. Possible corrupted image. **/ @@ -153,6 +160,8 @@ FmpGetImageInfo ( @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. The number is between 1 and DescriptorCount. @param[in,out] Image Points to the buffer where the current image is copied to. + May be NULL with a zero ImageSize in order to determine the size of the + buffer needed. @param[in,out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. On return, points to the length of the image, in bytes. @@ -160,7 +169,7 @@ FmpGetImageInfo ( @retval EFI_BUFFER_TOO_SMALL The buffer specified by ImageSize is too small to hold the image. The current buffer size needed to hold the image is returned in ImageSize. - @retval EFI_INVALID_PARAMETER The Image was NULL. + @retval EFI_INVALID_PARAMETER The ImageSize is not too small and Image is NULL @retval EFI_NOT_FOUND The current image is not copied to the buffer. @retval EFI_UNSUPPORTEDThe operation is not supported. @retval EFI_SECURITY_VIOLATION The operation could not be performed due to an authentication failure. diff --git a/SignedCapsulePkg/Universal/SystemFirmwareUpdate/SystemFirmwareDxe.h b/SignedCapsulePkg/Universal
Re: [edk2-devel] [PATCH V2] FmpDevicePkg: GetImageInfo Add missing condition
Hi All, I had corrected the description, added the UEFI spec version and section details . Please check and approve it Thanks, P. Madhan -Original Message- From: Pethaiyan, Madhan Sent: Monday, January 8, 2024 12:13 PM To: devel@edk2.groups.io Cc: Pethaiyan, Madhan ; Gao, Liming ; Kinney, Michael D ; Xu, Wei6 Subject: [PATCH V2] FmpDevicePkg: GetImageInfo Add missing condition From: "Pethaiyan, Madhan" UEFI Spec 2.10 , 23.1 Firmware Management Protocol , Added missing condition check under GetImageInfo function, if the PackageVersionName is NULL return EFI_INVALID_PARAMETER Signed-off-by: Pethaiyan Madhan Cc: Liming Gao Cc: Michael D Kinney Cc: Wei6 Xu --- FmpDevicePkg/FmpDxe/FmpDxe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c b/FmpDevicePkg/FmpDxe/FmpDxe.c index 1e7ec4a09e..e87094f84c 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.c +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c @@ -495,7 +495,7 @@ GetTheImageInfo ( // Confirm that buffer isn't null // if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL) - || (PackageVersion == NULL)) + || (PackageVersion == NULL) || (PackageVersionName == NULL)) { DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetImageInfo() - Pointer Parameter is NULL.\n", mImageIdName)); Status = EFI_INVALID_PARAMETER; -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114085): https://edk2.groups.io/g/devel/message/114085 Mute This Topic: https://groups.io/mt/103620853/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V2] FmpDevicePkg: GetImageInfo Add missing condition
From: "Pethaiyan, Madhan" UEFI Spec 2.10 , 23.1 Firmware Management Protocol , Added missing condition check under GetImageInfo function, if the PackageVersionName is NULL return EFI_INVALID_PARAMETER Signed-off-by: Pethaiyan Madhan Cc: Liming Gao Cc: Michael D Kinney Cc: Wei6 Xu --- FmpDevicePkg/FmpDxe/FmpDxe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c b/FmpDevicePkg/FmpDxe/FmpDxe.c index 1e7ec4a09e..e87094f84c 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.c +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c @@ -495,7 +495,7 @@ GetTheImageInfo ( // Confirm that buffer isn't null // if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL) - || (PackageVersion == NULL)) + || (PackageVersion == NULL) || (PackageVersionName == NULL)) { DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetImageInfo() - Pointer Parameter is NULL.\n", mImageIdName)); Status = EFI_INVALID_PARAMETER; -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113453): https://edk2.groups.io/g/devel/message/113453 Mute This Topic: https://groups.io/mt/103620853/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] FmpDevicePkg: GetImageInfo Add missing condition
From: "Pethaiyan, Madhan" 23.1 Firmware Management Protocol , Added missing condition check under GetImageInfo function, if the PackageVersionName is NULL return EFI_INVALID_PARAMETER Signed-off-by: Pethaiyan Madhan Cc: Liming Gao Cc: Michael D Kinney Cc: Wei6 Xu --- FmpDevicePkg/FmpDxe/FmpDxe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c b/FmpDevicePkg/FmpDxe/FmpDxe.c index 1e7ec4a09e..e87094f84c 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.c +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c @@ -495,7 +495,7 @@ GetTheImageInfo ( // Confirm that buffer isn't null // if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL) - || (PackageVersion == NULL)) + || (PackageVersion == NULL) || (PackageVersionName == NULL)) { DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetImageInfo() - Pointer Parameter is NULL.\n", mImageIdName)); Status = EFI_INVALID_PARAMETER; -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113452): https://edk2.groups.io/g/devel/message/113452 Mute This Topic: https://groups.io/mt/103620852/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] FmpDevicePkg: GetImageInfo Add missing condition
From: "Pethaiyan, Madhan" Mantis 1899 : Added missing condition check under GetImageInfo function, if the PackageVersionName is NULL return EFI_INVALID_PARAMETER Signed-off-by: Pethaiyan Madhan Cc: Liming Gao Cc: Michael D Kinney Cc: Wei6 Xu --- FmpDevicePkg/FmpDxe/FmpDxe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c b/FmpDevicePkg/FmpDxe/FmpDxe.c index 1e7ec4a09e..e87094f84c 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.c +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c @@ -495,7 +495,7 @@ GetTheImageInfo ( // Confirm that buffer isn't null // if ( (ImageInfo == NULL) || (DescriptorVersion == NULL) || (DescriptorCount == NULL) || (DescriptorSize == NULL) - || (PackageVersion == NULL)) + || (PackageVersion == NULL) || (PackageVersionName == NULL)) { DEBUG ((DEBUG_ERROR, "FmpDxe(%s): GetImageInfo() - Pointer Parameter is NULL.\n", mImageIdName)); Status = EFI_INVALID_PARAMETER; -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113183): https://edk2.groups.io/g/devel/message/113183 Mute This Topic: https://groups.io/mt/103523940/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-