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
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
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
© 2016 - 2024 Red Hat, Inc.