From nobody Mon May 13 19:22:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+107128+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107128+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1689953879; cv=none; d=zohomail.com; s=zohoarc; b=J0qtMU0VqOyDL2VPIyxFu/TBtQklfgZ4WMjyHqfgEmyPf9E9pU0vg1ZfSi3HDCU8/KPztcx2+Ul/Fj7dAuKMGLrM+qHm3Jo7xlsXisxsuDKDsLGLE2QzZY0oo6B0KAbpEaUUZb2PKzJRF64lQ+gg954TPVJgQ2NvOx/B/H0QiR8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1689953879; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=+th7z/bmp/BhZ8F9zyE00QBaYFpbPIP5QSMuUAYB5kA=; b=I6icz6QHIWE+79jmV3kRBrvdo408/uHd5ikCuNzP5OokkoaoxDWJ4u7fNWllt3PA9cHY/v6ekZkvlS9h+GaYT080z4wpGsKmXYiuF2kzTcGi5AurmN7kF27k5fJ8AIL3hI1l79uCcSD/zzK0dbMfCfhjih+cyCIW6jR0Ektu08I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107128+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1689953879240275.7997474767092; Fri, 21 Jul 2023 08:37:59 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=UCjNavSYmnk2EMuEg3bARaGFNCp6kBJq4v1xebCD2Oc=; c=relaxed/simple; d=groups.io; h=X-Received:X-Received:X-IronPort-AV:X-IronPort-AV:X-Received:X-ExtLoop1:X-IronPort-AV:X-IronPort-AV:X-Received:From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:X-Gm-Message-State:Content-Transfer-Encoding; s=20140610; t=1689953878; v=1; b=VGMYtrJVBn20iVySO4SRAL0VTpSM8Z7T7/0EHBXw8yVVcFA+QC14ajO48XcYoNyHko1p/C2A x4MLJEUTryFYN+mK4ift0QJi5hEnnZui+OAebTW49EDPz8Ftp4uQKdiwIxecWHb35iIQNCQTKPy 1jU1CBL4Ex+o0vDhMywC8cuw= X-Received: by 127.0.0.2 with SMTP id ZYeLYY1788612xFJja4VGcqb; Fri, 21 Jul 2023 08:37:58 -0700 X-Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.5843.1689941709096973918 for ; Fri, 21 Jul 2023 05:15:09 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="430801771" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="430801771" X-Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2023 05:15:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10777"; a="728072264" X-IronPort-AV: E=Sophos;i="6.01,220,1684825200"; d="scan'208";a="728072264" X-Received: from basfe006.gar.corp.intel.com ([10.66.244.178]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2023 05:15:05 -0700 From: chitralekha ck To: devel@edk2.groups.io Cc: chitralekha ck , Ray Ni , Zhichao Gao , Ashraf Ali S , Chinni B Duggapu Subject: [edk2-devel] [PATCH] MdeModulePkg: AllocatePages for TranslateBmpToGopBlt Date: Fri, 21 Jul 2023 17:42:35 +0530 Message-Id: MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,chitralekha.ck@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: NA25PyLZ2y9UhVhiR60yav6vx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1689953879908100003 Content-Type: text/plain; charset="utf-8" https://bugzilla.tianocore.org/show_bug.cgi?id=3D4507 AllocatePool limits to allocate memory of 64 KB at most. if the the image size is higher than that it will fail to allocate. change the function debug string to __func__ Cc: Ray Ni Cc: Zhichao Gao Cc: Ashraf Ali S Cc: Chinni B Duggapu Signed-off-by: chitralekha ck --- .../Library/BaseBmpSupportLib/BmpSupportLib.c | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c b/MdeMo= dulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c index c5e885d7a6..d0833a721f 100644 --- a/MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c +++ b/MdeModulePkg/Library/BaseBmpSupportLib/BmpSupportLib.c @@ -52,7 +52,7 @@ const BMP_IMAGE_HEADER mBmpImageHeaderTemplate =3D { /** Translate a *.BMP graphics image to a GOP blt buffer. If a NULL Blt buff= er is passed in a GopBlt buffer will be allocated by this routine using - EFI_BOOT_SERVICES.AllocatePool(). If a GopBlt buffer is passed in it wil= l be + EFI_BOOT_SERVICES.AllocatePages(). If a GopBlt buffer is passed in it wi= ll be used if it is big enough. =20 @param[in] BmpImage Pointer to BMP file. @@ -113,14 +113,14 @@ TranslateBmpToGopBlt ( } =20 if (BmpImageSize < sizeof (BMP_IMAGE_HEADER)) { - DEBUG ((DEBUG_ERROR, "TranslateBmpToGopBlt: BmpImageSize too small\n")= ); + DEBUG ((DEBUG_ERROR, "%a: BmpImageSize too small\n", __func__)); return RETURN_UNSUPPORTED; } =20 BmpHeader =3D (BMP_IMAGE_HEADER *)BmpImage; =20 if ((BmpHeader->CharB !=3D 'B') || (BmpHeader->CharM !=3D 'M')) { - DEBUG ((DEBUG_ERROR, "TranslateBmpToGopBlt: BmpHeader->Char fields inc= orrect\n")); + DEBUG ((DEBUG_ERROR, "%a: BmpHeader->Char fields incorrect\n", __func_= _)); return RETURN_UNSUPPORTED; } =20 @@ -128,12 +128,12 @@ TranslateBmpToGopBlt ( // Doesn't support compress. // if (BmpHeader->CompressionType !=3D 0) { - DEBUG ((DEBUG_ERROR, "TranslateBmpToGopBlt: Compression Type unsupport= ed.\n")); + DEBUG ((DEBUG_ERROR, "%a: Compression Type unsupported\n", __func__)); return RETURN_UNSUPPORTED; } =20 if ((BmpHeader->PixelHeight =3D=3D 0) || (BmpHeader->PixelWidth =3D=3D 0= )) { - DEBUG ((DEBUG_ERROR, "TranslateBmpToGopBlt: BmpHeader->PixelHeight or = BmpHeader->PixelWidth is 0.\n")); + DEBUG ((DEBUG_ERROR, "%a: BmpHeader PixelHeight or PixelWidth is 0\n",= __func__)); return RETURN_UNSUPPORTED; } =20 @@ -144,7 +144,8 @@ TranslateBmpToGopBlt ( if (BmpHeader->HeaderSize !=3D sizeof (BMP_IMAGE_HEADER) - OFFSET_OF (BM= P_IMAGE_HEADER, HeaderSize)) { DEBUG (( DEBUG_ERROR, - "TranslateBmpToGopBlt: BmpHeader->Headership is not as expected. He= adersize is 0x%x\n", + "%a: BmpHeader->Headership is not as expected. Headersize is 0x%x\n", + __func__, BmpHeader->HeaderSize )); return RETURN_UNSUPPORTED; @@ -161,7 +162,8 @@ TranslateBmpToGopBlt ( if (EFI_ERROR (Status)) { DEBUG (( DEBUG_ERROR, - "TranslateBmpToGopBlt: invalid BmpImage... PixelWidth:0x%x BitPerPix= el:0x%x\n", + "%a: invalid BmpImage. PixelWidth:0x%x BitPerPixel:0x%x\n", + __func__, BmpHeader->PixelWidth, BmpHeader->BitPerPixel )); @@ -172,7 +174,8 @@ TranslateBmpToGopBlt ( if (EFI_ERROR (Status)) { DEBUG (( DEBUG_ERROR, - "TranslateBmpToGopBlt: invalid BmpImage... DataSizePerLine:0x%x\n", + "%a: invalid BmpImage. DataSizePerLine:0x%x\n", + __func__, DataSizePerLine )); =20 @@ -189,7 +192,8 @@ TranslateBmpToGopBlt ( if (EFI_ERROR (Status)) { DEBUG (( DEBUG_ERROR, - "TranslateBmpToGopBlt: invalid BmpImage... DataSizePerLine:0x%x Pixe= lHeight:0x%x\n", + "%a: invalid BmpImage. DataSizePerLine:0x%x PixelHeight:0x%x\n", + __func__, DataSizePerLine, BmpHeader->PixelHeight )); @@ -206,7 +210,8 @@ TranslateBmpToGopBlt ( if (EFI_ERROR (Status)) { DEBUG (( DEBUG_ERROR, - "TranslateBmpToGopBlt: invalid BmpImage... PixelHeight:0x%x DataSize= PerLine:0x%x\n", + "%a: invalid BmpImage. PixelHeight:0x%x DataSizePerLine:0x%x\n", + __func__, BmpHeader->PixelHeight, DataSizePerLine )); @@ -218,11 +223,11 @@ TranslateBmpToGopBlt ( (BmpHeader->Size < BmpHeader->ImageOffset) || (BmpHeader->Size - BmpHeader->ImageOffset !=3D DataSize)) { - DEBUG ((DEBUG_ERROR, "TranslateBmpToGopBlt: invalid BmpImage... \n")); - DEBUG ((DEBUG_ERROR, " BmpHeader->Size: 0x%x\n", BmpHeader->Size)); - DEBUG ((DEBUG_ERROR, " BmpHeader->ImageOffset: 0x%x\n", BmpHeader->I= mageOffset)); - DEBUG ((DEBUG_ERROR, " BmpImageSize: 0x%lx\n", (UINTN)BmpImageSize)); - DEBUG ((DEBUG_ERROR, " DataSize: 0x%lx\n", (UINTN)DataSize)); + DEBUG ((DEBUG_ERROR, "%a: invalid BmpImage... \n", __func__)); + DEBUG ((DEBUG_ERROR, " Size: 0x%x\n", BmpHeader->Size)); + DEBUG ((DEBUG_ERROR, " ImageOffset: 0x%x\n", BmpHeader->ImageOffset)); + DEBUG ((DEBUG_ERROR, " BmpImageSize: 0x%lx\n", (UINTN)BmpImageSize)); + DEBUG ((DEBUG_ERROR, " DataSize: 0x%lx\n", (UINTN)DataSize)); =20 return RETURN_UNSUPPORTED; } @@ -279,7 +284,8 @@ TranslateBmpToGopBlt ( if (EFI_ERROR (Status)) { DEBUG (( DEBUG_ERROR, - "TranslateBmpToGopBlt: invalid BltBuffer needed size... PixelWidth:0= x%x PixelHeight:0x%x\n", + "%a: invalid BltBuffer needed size. PixelWidth:0x%x PixelHeight:0x%x= \n", + __func__, BmpHeader->PixelWidth, BmpHeader->PixelHeight )); @@ -297,7 +303,8 @@ TranslateBmpToGopBlt ( if (EFI_ERROR (Status)) { DEBUG (( DEBUG_ERROR, - "TranslateBmpToGopBlt: invalid BltBuffer needed size... PixelWidth x= PixelHeight:0x%x struct size:0x%x\n", + "%a: invalid BltBuffer needed size. PixelWidth x PixelHeight:0x%x st= ruct size:0x%x\n", + __func__, Temp, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL) )); @@ -312,7 +319,7 @@ TranslateBmpToGopBlt ( // DEBUG ((DEBUG_INFO, "Bmp Support: Allocating 0x%X bytes of memory\n", = BltBufferSize)); *GopBltSize =3D (UINTN)BltBufferSize; - *GopBlt =3D AllocatePool (*GopBltSize); + *GopBlt =3D AllocatePages (*GopBltSize); IsAllocated =3D TRUE; if (*GopBlt =3D=3D NULL) { return RETURN_OUT_OF_RESOURCES; @@ -329,13 +336,14 @@ TranslateBmpToGopBlt ( =20 *PixelWidth =3D BmpHeader->PixelWidth; *PixelHeight =3D BmpHeader->PixelHeight; - DEBUG ((DEBUG_INFO, "BmpHeader->ImageOffset 0x%X\n", BmpHeader->ImageOff= set)); - DEBUG ((DEBUG_INFO, "BmpHeader->PixelWidth 0x%X\n", BmpHeader->PixelWidt= h)); - DEBUG ((DEBUG_INFO, "BmpHeader->PixelHeight 0x%X\n", BmpHeader->PixelHei= ght)); - DEBUG ((DEBUG_INFO, "BmpHeader->BitPerPixel 0x%X\n", BmpHeader->BitPerPi= xel)); - DEBUG ((DEBUG_INFO, "BmpHeader->ImageSize 0x%X\n", BmpHeader->ImageSize)= ); - DEBUG ((DEBUG_INFO, "BmpHeader->HeaderSize 0x%X\n", BmpHeader->HeaderSiz= e)); - DEBUG ((DEBUG_INFO, "BmpHeader->Size 0x%X\n", BmpHeader->Size)); + DEBUG ((DEBUG_INFO, "BmpHeader :\n")); + DEBUG ((DEBUG_INFO, " ImageOffset 0x%X\n", BmpHeader->ImageOffset)); + DEBUG ((DEBUG_INFO, " PixelWidth 0x%X\n", BmpHeader->PixelWidth)); + DEBUG ((DEBUG_INFO, " PixelHeight 0x%X\n", BmpHeader->PixelHeight)); + DEBUG ((DEBUG_INFO, " BitPerPixel 0x%X\n", BmpHeader->BitPerPixel)); + DEBUG ((DEBUG_INFO, " ImageSize 0x%X\n", BmpHeader->ImageSize)); + DEBUG ((DEBUG_INFO, " HeaderSize 0x%X\n", BmpHeader->HeaderSize)); + DEBUG ((DEBUG_INFO, " Size 0x%X\n", BmpHeader->Size)); =20 // // Translate image from BMP to Blt buffer format --=20 2.38.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107128): https://edk2.groups.io/g/devel/message/107128 Mute This Topic: https://groups.io/mt/100278877/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-