Reviewed-by: Ray Ni <ray.ni@intel.com>
> -----Original Message-----
> From: Tan, Dun <dun.tan@intel.com>
> Sent: Thursday, March 23, 2023 3:41 PM
> To: devel@edk2.groups.io
> Cc: Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar,
> Rahul R <rahul.r.kumar@intel.com>; Gerd Hoffmann <kraxel@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.tan@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Gerd Hoffmann <kraxel@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-