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

Reply via email to