Reviewed-by: Jian J Wang <jian.j.w...@intel.com>

> -----Original Message-----
> From: Zeng, Star
> Sent: Friday, December 29, 2017 6:19 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star <star.z...@intel.com>; Wang, Jian J <jian.j.w...@intel.com>;
> Yao, Jiewen <jiewen....@intel.com>
> Subject: [PATCH] MdeModulePkg VarCheckPcd: Make sure the bin at required
> alignment
> 
> According to UEFI/PI spec, the AllocateXXXPool() interfaces should
> return eight-byte aligned buffer that satisfies the required
> HEADER_ALIGNMENT which is 4.
> 
> This patch adds ASSERT to make sure the bin at required alignment,
> that can help catch the issue earlier about incorrect aligned buffer
> returned from AllocateXXXPool().
> 
> Cc: Jian J Wang <jian.j.w...@intel.com>
> Cc: Jiewen Yao <jiewen....@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Star Zeng <star.z...@intel.com>
> ---
>  MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLibNullClass.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLibNullClass.c
> b/MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLibNullClass.c
> index 72b0363b1979..d24ee966a44c 100644
> --- a/MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLibNullClass.c
> +++ b/MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLibNullClass.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Var Check PCD handler.
> 
> -Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
>  This program and the accompanying materials
>  are licensed and made available under the terms and conditions of the BSD
> License
>  which accompanies this distribution.  The full text of the license may be 
> found
> at
> @@ -435,6 +435,10 @@ LocateVarCheckPcdBin (
>      //
>      mVarCheckPcdBin = AllocateRuntimeCopyPool (VarCheckPcdBinSize,
> VarCheckPcdBin);
>      ASSERT (mVarCheckPcdBin != NULL);
> +    //
> +    // Make sure the allocated buffer for VarCheckPcdBin at required 
> alignment.
> +    //
> +    ASSERT ((((UINTN) mVarCheckPcdBin) & (HEADER_ALIGNMENT - 1)) == 0);
>      mVarCheckPcdBinSize = VarCheckPcdBinSize;
>      FreePool (VarCheckPcdBin);
> 
> --
> 2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to