[edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg type in EraseBlocks()

Laszlo Ersek posted 8 patches 7 years, 7 months ago
[edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg type in EraseBlocks()
Posted by Laszlo Ersek 7 years, 7 months ago
According to the PI spec, Volume 3,
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks():

> The variable argument list is a list of tuples. Each tuple describes a
> range of LBAs to erase and consists of the following:
> * An EFI_LBA that indicates the starting LBA
> * A UINTN that indicates the number of blocks to erase

(NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.)

In this driver, the NumOfLba local variable is defined with type UINTN,
but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Reported-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    unbuilt, untested

 QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
index dbb5512f386e..0e7a7b79a1cf 100644
--- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
+++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
@@ -1211,7 +1211,7 @@ Returns:
       break;
     }
 
-    NumOfLba = VA_ARG (args, UINT32);
+    NumOfLba = VA_ARG (args, UINTN);
 
     //
     // Check input parameters
@@ -1235,7 +1235,7 @@ Returns:
       break;
     }
 
-    NumOfLba = VA_ARG (args, UINT32);
+    NumOfLba = VA_ARG (args, UINTN);
 
     while (NumOfLba > 0) {
       Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal, EfiGoneVirtual ());
-- 
2.9.3


_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg type in EraseBlocks()
Posted by Laszlo Ersek 7 years, 7 months ago
Mike or Kelly, can one of you please review this patch?

Thanks
Laszlo

On 05/18/17 17:04, Laszlo Ersek wrote:
> According to the PI spec, Volume 3,
> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks():
> 
>> The variable argument list is a list of tuples. Each tuple describes a
>> range of LBAs to erase and consists of the following:
>> * An EFI_LBA that indicates the starting LBA
>> * A UINTN that indicates the number of blocks to erase
> 
> (NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to
> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.)
> 
> In this driver, the NumOfLba local variable is defined with type UINTN,
> but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch.
> 
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Kelly Steele <kelly.steele@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Reported-by: Jordan Justen <jordan.l.justen@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     unbuilt, untested
> 
>  QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
> index dbb5512f386e..0e7a7b79a1cf 100644
> --- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
> +++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
> @@ -1211,7 +1211,7 @@ Returns:
>        break;
>      }
>  
> -    NumOfLba = VA_ARG (args, UINT32);
> +    NumOfLba = VA_ARG (args, UINTN);
>  
>      //
>      // Check input parameters
> @@ -1235,7 +1235,7 @@ Returns:
>        break;
>      }
>  
> -    NumOfLba = VA_ARG (args, UINT32);
> +    NumOfLba = VA_ARG (args, UINTN);
>  
>      while (NumOfLba > 0) {
>        Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal, EfiGoneVirtual ());
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg type in EraseBlocks()
Posted by Kinney, Michael D 7 years, 7 months ago
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

Mike

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo Ersek
> Sent: Thursday, May 18, 2017 8:04 AM
> To: edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Justen, Jordan L
> <jordan.l.justen@intel.com>
> Subject: [edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg
> type in EraseBlocks()
> 
> According to the PI spec, Volume 3,
> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks():
> 
> > The variable argument list is a list of tuples. Each tuple describes a
> > range of LBAs to erase and consists of the following:
> > * An EFI_LBA that indicates the starting LBA
> > * A UINTN that indicates the number of blocks to erase
> 
> (NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to
> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.)
> 
> In this driver, the NumOfLba local variable is defined with type UINTN,
> but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch.
> 
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Kelly Steele <kelly.steele@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Reported-by: Jordan Justen <jordan.l.justen@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     unbuilt, untested
> 
>  QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
> b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
> index dbb5512f386e..0e7a7b79a1cf 100644
> --- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
> +++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
> @@ -1211,7 +1211,7 @@ Returns:
>        break;
>      }
> 
> -    NumOfLba = VA_ARG (args, UINT32);
> +    NumOfLba = VA_ARG (args, UINTN);
> 
>      //
>      // Check input parameters
> @@ -1235,7 +1235,7 @@ Returns:
>        break;
>      }
> 
> -    NumOfLba = VA_ARG (args, UINT32);
> +    NumOfLba = VA_ARG (args, UINTN);
> 
>      while (NumOfLba > 0) {
>        Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal,
> EfiGoneVirtual ());
> --
> 2.9.3
> 
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg type in EraseBlocks()
Posted by Laszlo Ersek 7 years, 7 months ago
On 05/24/17 18:52, Kinney, Michael D wrote:
> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

Commit b9036ebee9dd.

Thanks!
Laszlo

>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo Ersek
>> Sent: Thursday, May 18, 2017 8:04 AM
>> To: edk2-devel-01 <edk2-devel@lists.01.org>
>> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Justen, Jordan L
>> <jordan.l.justen@intel.com>
>> Subject: [edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg
>> type in EraseBlocks()
>>
>> According to the PI spec, Volume 3,
>> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks():
>>
>>> The variable argument list is a list of tuples. Each tuple describes a
>>> range of LBAs to erase and consists of the following:
>>> * An EFI_LBA that indicates the starting LBA
>>> * A UINTN that indicates the number of blocks to erase
>>
>> (NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to
>> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.)
>>
>> In this driver, the NumOfLba local variable is defined with type UINTN,
>> but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch.
>>
>> Cc: Jordan Justen <jordan.l.justen@intel.com>
>> Cc: Kelly Steele <kelly.steele@intel.com>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> Reported-by: Jordan Justen <jordan.l.justen@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
>> ---
>>
>> Notes:
>>     unbuilt, untested
>>
>>  QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
>> b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
>> index dbb5512f386e..0e7a7b79a1cf 100644
>> --- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
>> +++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
>> @@ -1211,7 +1211,7 @@ Returns:
>>        break;
>>      }
>>
>> -    NumOfLba = VA_ARG (args, UINT32);
>> +    NumOfLba = VA_ARG (args, UINTN);
>>
>>      //
>>      // Check input parameters
>> @@ -1235,7 +1235,7 @@ Returns:
>>        break;
>>      }
>>
>> -    NumOfLba = VA_ARG (args, UINT32);
>> +    NumOfLba = VA_ARG (args, UINTN);
>>
>>      while (NumOfLba > 0) {
>>        Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal,
>> EfiGoneVirtual ());
>> --
>> 2.9.3
>>
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel