mirror of https://github.com/acidanthera/audk.git
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>
This commit is contained in:
parent
687bde9cac
commit
aff463c825
|
@ -793,7 +793,7 @@ FvbProtocolEraseBlocks (
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
NumOfLba = VA_ARG (args, UINT32);
|
NumOfLba = VA_ARG (args, UINTN);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Check input parameters.
|
// Check input parameters.
|
||||||
|
@ -817,7 +817,7 @@ FvbProtocolEraseBlocks (
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
NumOfLba = VA_ARG (args, UINT32);
|
NumOfLba = VA_ARG (args, UINTN);
|
||||||
|
|
||||||
while ( NumOfLba > 0 ) {
|
while ( NumOfLba > 0 ) {
|
||||||
Status = FvbEraseBlock (FvbDevice->Instance, StartingLba);
|
Status = FvbEraseBlock (FvbDevice->Instance, StartingLba);
|
||||||
|
|
|
@ -725,7 +725,7 @@ FvbEraseBlocks (
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
NumOfLba = VA_ARG (Marker, UINT32);
|
NumOfLba = VA_ARG (Marker, UINTN);
|
||||||
if (NumOfLba == 0) {
|
if (NumOfLba == 0) {
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
@ -742,7 +742,7 @@ FvbEraseBlocks (
|
||||||
if (StartingLba == EFI_LBA_LIST_TERMINATOR ) {
|
if (StartingLba == EFI_LBA_LIST_TERMINATOR ) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
NumOfLba = VA_ARG (Marker, UINT32);
|
NumOfLba = VA_ARG (Marker, UINTN);
|
||||||
Status = EraseBlock (This, StartingLba, NumOfLba);
|
Status = EraseBlock (This, StartingLba, NumOfLba);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue