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