From nobody Fri Apr 26 04:01:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+65194+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+65194+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; t=1599845041; cv=none; d=zohomail.com; s=zohoarc; b=dOQWS/r7lTBwM+RRMUENPblnFxlDEIZU7qGDVMtL8W4SQcPqCur7+oJPz+jnefmu3M11S9wykR6mA/jUJ+6TR2AysjIhAptvgBkGCEAWM/XfD4tczjMtFJBPx444wkcDRNKgPHYkNCGLZhCigM0NTNayifUDSZ6Q90dj0NNmkrg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1599845041; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=5GDProYTfxseV1RpJ6EwfJU5P27jtfNlvqVrdQVWspc=; b=k650BLCE2GPok7xBsx/ADkF0dscgb3kn50Wr2oENbeaP6EpNNMUr6VuJKpu5tSExiE5aAza7bPZdzYA5trPvoexKqOVMyCwvET5lxmYGv0ETgWuGlfBlRNomn4jFhS9Yknfvc+6tpz1fD+SbPmIYaJ71cpVDBD+Xo9eXmamkMzU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+65194+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1599845041044580.4172796071774; Fri, 11 Sep 2020 10:24:01 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id AYlbYY1788612xnYTQIyd01Z; Fri, 11 Sep 2020 10:24:00 -0700 X-Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by mx.groups.io with SMTP id smtpd.web11.279.1599845040050100451 for ; Fri, 11 Sep 2020 10:24:00 -0700 X-Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Fri, 11 Sep 2020 10:23:14 -0700 X-Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Fri, 11 Sep 2020 10:23:59 -0700 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Fri, 11 Sep 2020 10:23:59 -0700 X-Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 11 Sep 2020 17:23:59 +0000 X-Received: from hqnvemgw03.nvidia.com (10.124.88.68) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 11 Sep 2020 17:23:59 +0000 X-Received: from jbrasen-ux.nvidia.com (Not Verified[10.20.23.1]) by hqnvemgw03.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Fri, 11 Sep 2020 10:23:59 -0700 From: "Jeff Brasen" To: CC: Jeff Brasen Subject: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. Date: Fri, 11 Sep 2020 11:23:55 -0600 Message-ID: <4d637a44c99f0aaa8d78b2def96114d7dc3b1bb6.1599844750.git.jbrasen@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public Precedence: Bulk List-Unsubscribe: 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,jbrasen@nvidia.com X-Gm-Message-State: 1bWtNwNY9H4cAJnW1mYXSWG7x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1599845040; bh=9KrJT5v/BOYsjBIW3SuirgJH2J+FFNP0b1IwyGkFxGg=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=VQgy4vLCKoSkZn2Z2ebO6S1uez3ryYTkSMZBf5ohdn/k9fxoxzHbVy6Ui5IN9zrpsau 5x9RPmess1nuoDQqP177kdc2Cr+RCXT9PCA1ZKs6J+BWsquwW248WQK05lr9zyO+eyqGL AWyYHnP16JQdZTc1IgP9MYFdwUownqtNxOE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" On systems with memory protection enabled the modification of local function initialization data results in permission issue. Make a copy of data prior to modification. Signed-off-by: Jeff Brasen Reviewed-By Samer El-Haj-Mahmoud > Reviewed-By Samer El-Haj-Mahmoud Reviewed-by: G Edhaya Chandran --- .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/Bl= ackBoxTest/UnicodeCollationBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI= /EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c index 6fa11e6c..e0b4c1d9 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxT= est/UnicodeCollationBBTestFunction.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxT= est/UnicodeCollationBBTestFunction.c @@ -25,7 +25,7 @@ Abstract: --*/ =20 =20 -#include "SctLib.h" +#include "SctLib.h" #include "UnicodeCollationBBTestMain.h" =20 =20 @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( }; =20 CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; =20 =20 =20 @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( // // Backup current test data // + CopyUnicodeString (TestDataRw, TestData[Index]); CopyUnicodeString (TestDataSav, TestData[Index]); =20 // // For each test data, test the StrLwr functionality. // - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); =20 - if (CheckStrLwr (TestDataSav, TestData[Index])) { + if (CheckStrLwr (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); =20 =20 - CopyUnicodeString (TestDataSav, TestData[Index]); - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + CopyUnicodeString (TestDataSav, TestDataRw); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); =20 - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; =20 @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( }; =20 CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; =20 =20 =20 @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); =20 // // For each test data, test the StrUpr functionality. // - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); =20 - if (CheckStrUpr (TestDataSav, TestData[Index])) { + if (CheckStrUpr (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); =20 - CopyUnicodeString (TestDataSav, TestData[Index]); - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + CopyUnicodeString (TestDataSav, TestDataRw); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); =20 - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; =20 diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/B= lackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UE= FI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunct= ion.c index 653b263a..19ff6764 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBox= Test/UnicodeCollation2BBTestFunction.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBox= Test/UnicodeCollation2BBTestFunction.c @@ -25,7 +25,7 @@ Abstract: --*/ =20 =20 -#include "SctLib.h" +#include "SctLib.h" #include "UnicodeCollation2BBTestMain.h" =20 STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] =3D{ @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( }; =20 CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; =20 =20 =20 @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); =20 // // For each test data, test the StrLwr functionality. // - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); =20 - if (CheckStrLwr (TestDataSav, TestData[Index])) { + if (CheckStrLwr (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); =20 =20 - CopyUnicodeString (TestDataSav, TestData[Index]); - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + CopyUnicodeString (TestDataSav, TestDataRw); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); =20 - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; =20 @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( }; =20 CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; =20 =20 =20 @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); =20 // // For each test data, test the StrUpr functionality. // - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); =20 - if (CheckStrUpr (TestDataSav, TestData[Index])) { + if (CheckStrUpr (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); =20 - CopyUnicodeString (TestDataSav, TestData[Index]); - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + CopyUnicodeString (TestDataSav, TestDataRw); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); =20 - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType =3D EFI_TEST_ASSERTION_PASSED; } else { AssertionType =3D EFI_TEST_ASSERTION_FAILED; @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; =20 --=20 2.25.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 (#65194): https://edk2.groups.io/g/devel/message/65194 Mute This Topic: https://groups.io/mt/76784632/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-