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: Ruiyu Ni <ruiyu.ni@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
Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
index 3400516f0c3c..03f1f44dafde 100644
--- a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
+++ b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
@@ -945,7 +945,7 @@ Returns:
break;
}
- NumOfLba = VA_ARG (args, UINT32);
+ NumOfLba = VA_ARG (args, UINTN);
//
// Check input parameters
@@ -965,7 +965,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
Ray, can you please review this patch too?
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: Ruiyu Ni <ruiyu.ni@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
>
> Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
> index 3400516f0c3c..03f1f44dafde 100644
> --- a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
> +++ b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
> @@ -945,7 +945,7 @@ Returns:
> break;
> }
>
> - NumOfLba = VA_ARG (args, UINT32);
> + NumOfLba = VA_ARG (args, UINTN);
>
> //
> // Check input parameters
> @@ -965,7 +965,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
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Best Regards,
Hao Wu
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo
> Ersek
> Sent: Thursday, May 18, 2017 11:04 PM
> To: edk2-devel-01
> Cc: Ni, Ruiyu; Justen, Jordan L
> Subject: [edk2] [PATCH 4/8] Nt32Pkg/FvbServicesRuntimeDxe: 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: Ruiyu Ni <ruiyu.ni@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
>
> Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
> b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
> index 3400516f0c3c..03f1f44dafde 100644
> --- a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
> +++ b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
> @@ -945,7 +945,7 @@ Returns:
> break;
> }
>
> - NumOfLba = VA_ARG (args, UINT32);
> + NumOfLba = VA_ARG (args, UINTN);
>
> //
> // Check input parameters
> @@ -965,7 +965,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
On 05/27/17 02:54, Wu, Hao A wrote:
> Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Commit d0d7289cce48.
Thanks!
Laszlo
>
>
>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo
>> Ersek
>> Sent: Thursday, May 18, 2017 11:04 PM
>> To: edk2-devel-01
>> Cc: Ni, Ruiyu; Justen, Jordan L
>> Subject: [edk2] [PATCH 4/8] Nt32Pkg/FvbServicesRuntimeDxe: 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: Ruiyu Ni <ruiyu.ni@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
>>
>> Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
>> b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
>> index 3400516f0c3c..03f1f44dafde 100644
>> --- a/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
>> +++ b/Nt32Pkg/FvbServicesRuntimeDxe/FWBlockService.c
>> @@ -945,7 +945,7 @@ Returns:
>> break;
>> }
>>
>> - NumOfLba = VA_ARG (args, UINT32);
>> + NumOfLba = VA_ARG (args, UINTN);
>>
>> //
>> // Check input parameters
>> @@ -965,7 +965,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
© 2016 - 2025 Red Hat, Inc.