Reviewed-by: Ray Ni <ray...@intel.com> > -----Original Message----- > From: Tan, Dun <dun....@intel.com> > Sent: Thursday, March 23, 2023 3:41 PM > To: devel@edk2.groups.io > Cc: Dong, Eric <eric.d...@intel.com>; Ni, Ray <ray...@intel.com>; Kumar, > Rahul R <rahul.r.ku...@intel.com>; Gerd Hoffmann <kra...@redhat.com> > Subject: [Patch V4 02/21] UefiCpuPkg/CpuPageTableLib: Add check for input > Length > > Add check for input Length in PageTableMap (). Return > RETURN_SUCCESS when input Length is 0. > > Signed-off-by: Dun Tan <dun....@intel.com> > Cc: Eric Dong <eric.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Rahul Kumar <rahul1.ku...@intel.com> > Cc: Gerd Hoffmann <kra...@redhat.com> > --- > UefiCpuPkg/Include/Library/CpuPageTableLib.h | 4 ++-- > UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c | 6 +++++- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/UefiCpuPkg/Include/Library/CpuPageTableLib.h > b/UefiCpuPkg/Include/Library/CpuPageTableLib.h > index 2dc9b7d18e..5f44ece548 100644 > --- a/UefiCpuPkg/Include/Library/CpuPageTableLib.h > +++ b/UefiCpuPkg/Include/Library/CpuPageTableLib.h > @@ -1,7 +1,7 @@ > /** @file > Public include file for PageTableLib library. > > - Copyright (c) 2022, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2022 - 2023, Intel Corporation. All rights reserved.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -81,7 +81,7 @@ typedef enum { > @retval RETURN_BUFFER_TOO_SMALL The buffer is too small for page > table creation/updating. > BufferSize is updated to indicate the > expected buffer size. > Caller may still get > RETURN_BUFFER_TOO_SMALL with the > new BufferSize. > - @retval RETURN_SUCCESS PageTable is created/updated > successfully. > + @retval RETURN_SUCCESS PageTable is created/updated > successfully or the input Length is 0. > **/ > RETURN_STATUS > EFIAPI > diff --git a/UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c > b/UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c > index 52535e5a8d..218068a3e1 100644 > --- a/UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c > +++ b/UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c > @@ -544,7 +544,7 @@ PageTableLibMapInLevel ( > @retval RETURN_BUFFER_TOO_SMALL The buffer is too small for page > table creation/updating. > BufferSize is updated to indicate the > expected buffer size. > Caller may still get > RETURN_BUFFER_TOO_SMALL with the > new BufferSize. > - @retval RETURN_SUCCESS PageTable is created/updated > successfully. > + @retval RETURN_SUCCESS PageTable is created/updated > successfully or the input Length is 0. > **/ > RETURN_STATUS > EFIAPI > @@ -567,6 +567,10 @@ PageTableMap ( > IA32_PAGE_LEVEL MaxLeafLevel; > IA32_MAP_ATTRIBUTE ParentAttribute; > > + if (Length == 0) { > + return RETURN_SUCCESS; > + } > + > if ((PagingMode == Paging32bit) || (PagingMode == PagingPae) || > (PagingMode >= PagingModeMax)) { > // > // 32bit paging is never supported. > -- > 2.31.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#101668): https://edk2.groups.io/g/devel/message/101668 Mute This Topic: https://groups.io/mt/97796375/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-