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: Andrew Fish <afish@apple.com>
> Cc: Jordan Justen <jordan.l.justen@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:
> build-tested for Ia32 and X64, not runtime tested
>
> EmulatorPkg/FvbServicesRuntimeDxe/FWBlockService.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/EmulatorPkg/FvbServicesRuntimeDxe/FWBlockService.c b/EmulatorPkg/FvbServicesRuntimeDxe/FWBlockService.c
> index 44df1172b12d..fdffca2c9449 100644
> --- a/EmulatorPkg/FvbServicesRuntimeDxe/FWBlockService.c
> +++ b/EmulatorPkg/FvbServicesRuntimeDxe/FWBlockService.c
> @@ -906,7 +906,7 @@ Returns:
> break;
> }
>
> - NumOfLba = VA_ARG (args, UINT32);
> + NumOfLba = VA_ARG (args, UINTN);
>
> //
> // Check input parameters
> @@ -926,7 +926,7 @@ Returns:
> break;
> }
>
> - NumOfLba = VA_ARG (args, UINT32);
> + NumOfLba = VA_ARG (args, UINTN);
>
> while (NumOfLba > 0) {
> Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal, EfiGoneVirtual ());
>
Commit 1ee0e6532fb1.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel