diff options
author | Laszlo Ersek <lersek@redhat.com> | 2017-05-18 23:04:27 +0800 |
---|---|---|
committer | zwei4 <david.wei@intel.com> | 2017-05-26 14:41:13 +0800 |
commit | aff463c825a3bd46f2e82cc81b6ec959e705f8e9 (patch) | |
tree | f92aa8548c986eea9992329ef4663b0600246fb5 /Vlv2TbltDevicePkg | |
parent | 687bde9cac2ce1a45d916bc26caa370d15d58fce (diff) | |
download | edk2-aff463c825a3bd46f2e82cc81b6ec959e705f8e9.tar.gz edk2-aff463c825a3bd46f2e82cc81b6ec959e705f8e9.tar.bz2 edk2-aff463c825a3bd46f2e82cc81b6ec959e705f8e9.zip |
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>
Diffstat (limited to 'Vlv2TbltDevicePkg')
-rw-r--r-- | Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c | 4 | ||||
-rw-r--r-- | 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 b0013f9183..89b9410424 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 20aaf8720f..22a4bdcdd4 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;
|