[edk2] [PATCH 8/8] Vlv2TbltDevicePkg/FvbRuntimeDxe: correct NumOfLba vararg type in EraseBlocks()

Laszlo Ersek posted 8 patches 7 years, 7 months ago
[edk2] [PATCH 8/8] Vlv2TbltDevicePkg/FvbRuntimeDxe: 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: David Wei <david.wei@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Mang Guo <mang.guo@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

 Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c | 4 ++--
 Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
index b0013f918368..89b941042420 100644
--- a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
+++ b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
@@ -793,7 +793,7 @@ FvbProtocolEraseBlocks (
       break;
     }
 
-    NumOfLba = VA_ARG (args, UINT32);
+    NumOfLba = VA_ARG (args, UINTN);
 
     //
     // Check input parameters.
@@ -817,7 +817,7 @@ FvbProtocolEraseBlocks (
       break;
     }
 
-    NumOfLba = VA_ARG (args, UINT32);
+    NumOfLba = VA_ARG (args, UINTN);
 
     while ( NumOfLba > 0 ) {
       Status = FvbEraseBlock (FvbDevice->Instance, StartingLba);
diff --git a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
index 20aaf8720f72..22a4bdcdd492 100644
--- a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
+++ b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
@@ -725,7 +725,7 @@ FvbEraseBlocks (
       break;
     }
 
-    NumOfLba = VA_ARG (Marker, UINT32);
+    NumOfLba = VA_ARG (Marker, UINTN);
     if (NumOfLba == 0) {
       return EFI_INVALID_PARAMETER;
     }
@@ -742,7 +742,7 @@ FvbEraseBlocks (
     if (StartingLba == EFI_LBA_LIST_TERMINATOR ) {
       break;
     }
-    NumOfLba = VA_ARG (Marker, UINT32);
+    NumOfLba = VA_ARG (Marker, UINTN);
     Status = EraseBlock (This, StartingLba, NumOfLba);
     if (EFI_ERROR (Status)) {
       break;
-- 
2.9.3

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 8/8] Vlv2TbltDevicePkg/FvbRuntimeDxe: correct NumOfLba vararg type in EraseBlocks()
Posted by Wei, David 7 years, 7 months ago
Reviewed-by: zwei4 <david.wei@intel.com> 


Thanks,
David  Wei                                 

-----Original Message-----
From: Laszlo Ersek [mailto:lersek@redhat.com] 
Sent: Thursday, May 18, 2017 11:04 PM
To: edk2-devel-01 <edk2-devel@lists.01.org>
Cc: Wei, David <david.wei@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Guo, Mang <mang.guo@intel.com>
Subject: [PATCH 8/8] Vlv2TbltDevicePkg/FvbRuntimeDxe: 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: David Wei <david.wei@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Mang Guo <mang.guo@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

 Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c | 4 ++--
 Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
index b0013f918368..89b941042420 100644
--- a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
+++ b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
@@ -793,7 +793,7 @@ FvbProtocolEraseBlocks (
       break;
     }
 
-    NumOfLba = VA_ARG (args, UINT32);
+    NumOfLba = VA_ARG (args, UINTN);
 
     //
     // Check input parameters.
@@ -817,7 +817,7 @@ FvbProtocolEraseBlocks (
       break;
     }
 
-    NumOfLba = VA_ARG (args, UINT32);
+    NumOfLba = VA_ARG (args, UINTN);
 
     while ( NumOfLba > 0 ) {
       Status = FvbEraseBlock (FvbDevice->Instance, StartingLba);
diff --git a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
index 20aaf8720f72..22a4bdcdd492 100644
--- a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
+++ b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
@@ -725,7 +725,7 @@ FvbEraseBlocks (
       break;
     }
 
-    NumOfLba = VA_ARG (Marker, UINT32);
+    NumOfLba = VA_ARG (Marker, UINTN);
     if (NumOfLba == 0) {
       return EFI_INVALID_PARAMETER;
     }
@@ -742,7 +742,7 @@ FvbEraseBlocks (
     if (StartingLba == EFI_LBA_LIST_TERMINATOR ) {
       break;
     }
-    NumOfLba = VA_ARG (Marker, UINT32);
+    NumOfLba = VA_ARG (Marker, UINTN);
     Status = EraseBlock (This, StartingLba, NumOfLba);
     if (EFI_ERROR (Status)) {
       break;
-- 
2.9.3

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 8/8] Vlv2TbltDevicePkg/FvbRuntimeDxe: correct NumOfLba vararg type in EraseBlocks()
Posted by Laszlo Ersek 7 years, 7 months ago
David,

On 05/19/17 03:49, Wei, David wrote:
> Reviewed-by: zwei4 <david.wei@intel.com> 
> 
> 
> Thanks,
> David  Wei                                 

thanks for committing & pushing this patch on my behalf -- I've been
waiting for the rest of the reviews to trickle in. I figured I'd push
the DuetPkg, Nt32Pkg, QuarkPlatformPkg and Vlv2TbltDevicePkg patches in
one go. The first two of these remain unreviewed (by the package
maintainer), which is why I haven't pushed the QuarkPlatformPkg and
Vlv2TbltDevicePkg patches either.

Thanks,
Laszlo

> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com] 
> Sent: Thursday, May 18, 2017 11:04 PM
> To: edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Wei, David <david.wei@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Guo, Mang <mang.guo@intel.com>
> Subject: [PATCH 8/8] Vlv2TbltDevicePkg/FvbRuntimeDxe: 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: David Wei <david.wei@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Mang Guo <mang.guo@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
> 
>  Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c | 4 ++--
>  Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c  | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
> index b0013f918368..89b941042420 100644
> --- a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
> +++ b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c
> @@ -793,7 +793,7 @@ FvbProtocolEraseBlocks (
>        break;
>      }
>  
> -    NumOfLba = VA_ARG (args, UINT32);
> +    NumOfLba = VA_ARG (args, UINTN);
>  
>      //
>      // Check input parameters.
> @@ -817,7 +817,7 @@ FvbProtocolEraseBlocks (
>        break;
>      }
>  
> -    NumOfLba = VA_ARG (args, UINT32);
> +    NumOfLba = VA_ARG (args, UINTN);
>  
>      while ( NumOfLba > 0 ) {
>        Status = FvbEraseBlock (FvbDevice->Instance, StartingLba);
> diff --git a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
> index 20aaf8720f72..22a4bdcdd492 100644
> --- a/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
> +++ b/Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbSmmDxe.c
> @@ -725,7 +725,7 @@ FvbEraseBlocks (
>        break;
>      }
>  
> -    NumOfLba = VA_ARG (Marker, UINT32);
> +    NumOfLba = VA_ARG (Marker, UINTN);
>      if (NumOfLba == 0) {
>        return EFI_INVALID_PARAMETER;
>      }
> @@ -742,7 +742,7 @@ FvbEraseBlocks (
>      if (StartingLba == EFI_LBA_LIST_TERMINATOR ) {
>        break;
>      }
> -    NumOfLba = VA_ARG (Marker, UINT32);
> +    NumOfLba = VA_ARG (Marker, UINTN);
>      Status = EraseBlock (This, StartingLba, NumOfLba);
>      if (EFI_ERROR (Status)) {
>        break;
> 

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