Eric,
This looks good.
The only minor comment is a code style issue for the parameter
indent in the calls to AllocateCopyPool(). Should look like
the following:
SupportBitMask = AllocateCopyPool (
PcdGetSize (PcdCpuFeaturesSupport),
PcdGetPtr (PcdCpuFeaturesSupport)
);
With this change,
Reviewed-by: Kinney, Michael D <[email protected]>
Mike
> -----Original Message-----
> From: Dong, Eric
> Sent: Tuesday, August 15, 2017 10:21 PM
> To: [email protected]
> Cc: Ni, Ruiyu <[email protected]>; Shao, Ming
> <[email protected]>; Kinney; Kinney, Michael D
> <[email protected]>
> Subject: [Patch v4] UefiCpuPkg RegisterCpuFeaturesLib: Fix
> buffer pointer error usage.
>
> Current code allocate buffer for the pointer which later get
> value
> from PCD database. but current code error use "=" for this case.
> Use AllocateCopyPool instead to fix it.
>
> V2 enhanced to directly use AllocateCopyPool to get the PCD
> value.
> V3 enhanced to avoid using local temp variable.
> V4 enhanced to keep the functions to get the pcd values.
>
> Cc: Ruiyu Ni <[email protected]>
> Cc: Shao Ming <[email protected]>
> Cc: Kinney, Michael D <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Eric Dong <[email protected]>
> ---
> .../RegisterCpuFeaturesLib/CpuFeaturesInitialize.c | 16
> ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git
> a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitializ
> e.c
> b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitializ
> e.c
> index 474aea3..b8f76f1 100644
> ---
> a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitializ
> e.c
> +++
> b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitializ
> e.c
> @@ -60,13 +60,13 @@ GetSupportPcds (
> VOID
> )
> {
> - UINTN BitMaskSize;
> UINT8 *SupportBitMask;
>
> - BitMaskSize = PcdGetSize (PcdCpuFeaturesSupport);
> - SupportBitMask = AllocateZeroPool (BitMaskSize);
> + SupportBitMask = AllocateCopyPool (
> + PcdGetSize (PcdCpuFeaturesSupport),
> + PcdGetPtr (PcdCpuFeaturesSupport)
> + );
> ASSERT (SupportBitMask != NULL);
> - SupportBitMask = (UINT8 *) PcdGetPtr (PcdCpuFeaturesSupport);
>
> return SupportBitMask;
> }
> @@ -81,13 +81,13 @@ GetConfigurationPcds (
> VOID
> )
> {
> - UINTN BitMaskSize;
> UINT8 *SupportBitMask;
>
> - BitMaskSize = PcdGetSize (PcdCpuFeaturesUserConfiguration);
> - SupportBitMask = AllocateZeroPool (BitMaskSize);
> + SupportBitMask = AllocateCopyPool (
> + PcdGetSize (PcdCpuFeaturesUserConfiguration),
> + PcdGetPtr (PcdCpuFeaturesUserConfiguration)
> + );
> ASSERT (SupportBitMask != NULL);
> - SupportBitMask = (UINT8 *) PcdGetPtr
> (PcdCpuFeaturesUserConfiguration);
>
> return SupportBitMask;
> }
> --
> 2.7.0.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel