* [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. @ 2020-09-11 17:23 Jeff Brasen 2020-09-22 22:13 ` Jeff Brasen 0 siblings, 1 reply; 8+ messages in thread From: Jeff Brasen @ 2020-09-11 17:23 UTC (permalink / raw) To: devel; +Cc: Jeff Brasen 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 <jbrasen@nvidia.com> --- .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/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/BlackBoxTest/UnicodeCollationBBTestFunction.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c @@ -25,7 +25,7 @@ Abstract: --*/ -#include "SctLib.h" +#include "SctLib.h" #include "UnicodeCollationBBTestMain.h" @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( // // Backup current test data // + CopyUnicodeString (TestDataRw, TestData[Index]); CopyUnicodeString (TestDataSav, TestData[Index]); // // For each test data, test the StrLwr functionality. // - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); - if (CheckStrLwr (TestDataSav, TestData[Index])) { + if (CheckStrLwr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); // // For each test data, test the StrUpr functionality. // - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); - if (CheckStrUpr (TestDataSav, TestData[Index])) { + if (CheckStrUpr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c index 653b263a..19ff6764 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c @@ -25,7 +25,7 @@ Abstract: --*/ -#include "SctLib.h" +#include "SctLib.h" #include "UnicodeCollation2BBTestMain.h" STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] ={ @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); // // For each test data, test the StrLwr functionality. // - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); - if (CheckStrLwr (TestDataSav, TestData[Index])) { + if (CheckStrLwr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); // // For each test data, test the StrUpr functionality. // - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); - if (CheckStrUpr (TestDataSav, TestData[Index])) { + if (CheckStrUpr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 2020-09-11 17:23 [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled Jeff Brasen @ 2020-09-22 22:13 ` Jeff Brasen 2020-09-23 8:59 ` [edk2-devel] " Laszlo Ersek 0 siblings, 1 reply; 8+ messages in thread From: Jeff Brasen @ 2020-09-22 22:13 UTC (permalink / raw) To: devel@edk2.groups.io [-- Attachment #1: Type: text/plain, Size: 10582 bytes --] Any comments on this change? Thanks, Jeff ________________________________ From: Jeff Brasen <jbrasen@nvidia.com> Sent: Friday, September 11, 2020 11:23 AM To: devel@edk2.groups.io <devel@edk2.groups.io> Cc: Jeff Brasen <jbrasen@nvidia.com> Subject: [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 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 <jbrasen@nvidia.com> --- .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/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/BlackBoxTest/UnicodeCollationBBTestFunction.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c @@ -25,7 +25,7 @@ Abstract: --*/ -#include "SctLib.h" +#include "SctLib.h" #include "UnicodeCollationBBTestMain.h" @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( // // Backup current test data // + CopyUnicodeString (TestDataRw, TestData[Index]); CopyUnicodeString (TestDataSav, TestData[Index]); // // For each test data, test the StrLwr functionality. // - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); - if (CheckStrLwr (TestDataSav, TestData[Index])) { + if (CheckStrLwr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); // // For each test data, test the StrUpr functionality. // - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); - if (CheckStrUpr (TestDataSav, TestData[Index])) { + if (CheckStrUpr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c index 653b263a..19ff6764 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c @@ -25,7 +25,7 @@ Abstract: --*/ -#include "SctLib.h" +#include "SctLib.h" #include "UnicodeCollation2BBTestMain.h" STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] ={ @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); // // For each test data, test the StrLwr functionality. // - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); - if (CheckStrLwr (TestDataSav, TestData[Index])) { + if (CheckStrLwr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( }; CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( // Backup current test data // CopyUnicodeString (TestDataSav, TestData[Index]); + CopyUnicodeString (TestDataRw, TestData[Index]); // // For each test data, test the StrUpr functionality. // - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); - if (CheckStrUpr (TestDataSav, TestData[Index])) { + if (CheckStrUpr (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); - 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); - if (CheckStrEql (TestDataSav, TestData[Index])) { + if (CheckStrEql (TestDataSav, TestDataRw)) { AssertionType = EFI_TEST_ASSERTION_PASSED; } else { AssertionType = EFI_TEST_ASSERTION_FAILED; @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( __FILE__, (UINTN)__LINE__, TestDataSav, - TestData[Index] + TestDataRw ); }; -- 2.25.1 [-- Attachment #2: Type: text/html, Size: 22484 bytes --] ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 2020-09-22 22:13 ` Jeff Brasen @ 2020-09-23 8:59 ` Laszlo Ersek 2020-09-23 15:56 ` Jeff Brasen 0 siblings, 1 reply; 8+ messages in thread From: Laszlo Ersek @ 2020-09-23 8:59 UTC (permalink / raw) To: devel, jbrasen On 09/23/20 00:13, Jeff Brasen wrote: > Any comments on this change? I suggest CC'ing the maintainers responsible for reviewing this change. (I don't know who they are, unfortunately -- is there a Maintainers.txt file in the uefi-sct tree?) Thanks Laszlo > > > Thanks, > > Jeff > > ________________________________ > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io <devel@edk2.groups.io> > Cc: Jeff Brasen <jbrasen@nvidia.com> > Subject: [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. > > 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 <jbrasen@nvidia.com> > --- > .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- > .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- > 2 files changed, 42 insertions(+), 34 deletions(-) > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/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/BlackBoxTest/UnicodeCollationBBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollationBBTestMain.h" > > > > > > @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( > // > > // Backup current test data > > // > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > CopyUnicodeString (TestDataSav, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > index 653b263a..19ff6764 100644 > --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollation2BBTestMain.h" > > > > STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] ={ > > @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > -- > 2.25.1 > > > > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 2020-09-23 8:59 ` [edk2-devel] " Laszlo Ersek @ 2020-09-23 15:56 ` Jeff Brasen 2020-09-29 14:05 ` Samer El-Haj-Mahmoud 0 siblings, 1 reply; 8+ messages in thread From: Jeff Brasen @ 2020-09-23 15:56 UTC (permalink / raw) To: Laszlo Ersek, devel@edk2.groups.io Cc: eric.jin@intel.com, Edhaya.Chandran@arm.com [-- Attachment #1: Type: text/plain, Size: 12033 bytes --] Didn't see it at first as it was not at the top of edk2-test but under uefi-sct. CC'd maintainers Thanks, Jeff ________________________________ From: Laszlo Ersek <lersek@redhat.com> Sent: Wednesday, September 23, 2020 2:59 AM To: devel@edk2.groups.io <devel@edk2.groups.io>; Jeff Brasen <jbrasen@nvidia.com> Subject: Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. External email: Use caution opening links or attachments On 09/23/20 00:13, Jeff Brasen wrote: > Any comments on this change? I suggest CC'ing the maintainers responsible for reviewing this change. (I don't know who they are, unfortunately -- is there a Maintainers.txt file in the uefi-sct tree?) Thanks Laszlo > > > Thanks, > > Jeff > > ________________________________ > From: Jeff Brasen <jbrasen@nvidia.com> > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io <devel@edk2.groups.io> > Cc: Jeff Brasen <jbrasen@nvidia.com> > Subject: [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. > > 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 <jbrasen@nvidia.com> > --- > .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- > .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- > 2 files changed, 42 insertions(+), 34 deletions(-) > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/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/BlackBoxTest/UnicodeCollationBBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollationBBTestMain.h" > > > > > > @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( > // > > // Backup current test data > > // > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > CopyUnicodeString (TestDataSav, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > index 653b263a..19ff6764 100644 > --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollation2BBTestMain.h" > > > > STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] ={ > > @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > -- > 2.25.1 > > > > > > > [-- Attachment #2: Type: text/html, Size: 25753 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 2020-09-23 15:56 ` Jeff Brasen @ 2020-09-29 14:05 ` Samer El-Haj-Mahmoud 2020-10-05 21:26 ` Jeff Brasen 0 siblings, 1 reply; 8+ messages in thread From: Samer El-Haj-Mahmoud @ 2020-09-29 14:05 UTC (permalink / raw) To: devel@edk2.groups.io, Jeff Brasen (jbrasen@nvidia.com), Laszlo Ersek Cc: eric.jin@intel.com, G Edhaya Chandran, Samer El-Haj-Mahmoud [-- Attachment #1: Type: text/plain, Size: 13177 bytes --] Jeff, Thanks for the patch. I will send a patch to move the Maintainers.txt one level up for consistency with other TianoCore repos. Reviewed-By Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Jeff Brasen via groups.io Sent: Wednesday, September 23, 2020 11:56 AM To: Laszlo Ersek <lersek@redhat.com>; devel@edk2.groups.io Cc: eric.jin@intel.com; G Edhaya Chandran <Edhaya.Chandran@arm.com> Subject: Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. Didn't see it at first as it was not at the top of edk2-test but under uefi-sct. CC'd maintainers Thanks, Jeff ________________________________ From: Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> Sent: Wednesday, September 23, 2020 2:59 AM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> Subject: Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. External email: Use caution opening links or attachments On 09/23/20 00:13, Jeff Brasen wrote: > Any comments on this change? I suggest CC'ing the maintainers responsible for reviewing this change. (I don't know who they are, unfortunately -- is there a Maintainers.txt file in the uefi-sct tree?) Thanks Laszlo > > > Thanks, > > Jeff > > ________________________________ > From: Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> > Cc: Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > Subject: [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. > > 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 <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > --- > .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- > .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- > 2 files changed, 42 insertions(+), 34 deletions(-) > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/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/BlackBoxTest/UnicodeCollationBBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollationBBTestMain.h" > > > > > > @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( > // > > // Backup current test data > > // > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > CopyUnicodeString (TestDataSav, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > index 653b263a..19ff6764 100644 > --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollation2BBTestMain.h" > > > > STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] ={ > > @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > -- > 2.25.1 > > > > > > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. [-- Attachment #2: Type: text/html, Size: 29036 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 2020-09-29 14:05 ` Samer El-Haj-Mahmoud @ 2020-10-05 21:26 ` Jeff Brasen 2020-11-11 21:06 ` Samer El-Haj-Mahmoud 0 siblings, 1 reply; 8+ messages in thread From: Jeff Brasen @ 2020-10-05 21:26 UTC (permalink / raw) To: Samer El-Haj-Mahmoud, devel@edk2.groups.io, Laszlo Ersek Cc: eric.jin@intel.com, G Edhaya Chandran [-- Attachment #1: Type: text/plain, Size: 13930 bytes --] Are we looking for any other reviews on this? Thanks, Jeff From: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com> Sent: Tuesday, September 29, 2020 8:05 AM To: devel@edk2.groups.io; Jeff Brasen <jbrasen@nvidia.com>; Laszlo Ersek <lersek@redhat.com> Cc: eric.jin@intel.com; G Edhaya Chandran <Edhaya.Chandran@arm.com>; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com> Subject: RE: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. External email: Use caution opening links or attachments Jeff, Thanks for the patch. I will send a patch to move the Maintainers.txt one level up for consistency with other TianoCore repos. Reviewed-By Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com<mailto:Samer.El-Haj-Mahmoud@arm.com>> From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Jeff Brasen via groups.io Sent: Wednesday, September 23, 2020 11:56 AM To: Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> Cc: eric.jin@intel.com<mailto:eric.jin@intel.com>; G Edhaya Chandran <Edhaya.Chandran@arm.com<mailto:Edhaya.Chandran@arm.com>> Subject: Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. Didn't see it at first as it was not at the top of edk2-test but under uefi-sct. CC'd maintainers Thanks, Jeff ________________________________ From: Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> Sent: Wednesday, September 23, 2020 2:59 AM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> Subject: Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. External email: Use caution opening links or attachments On 09/23/20 00:13, Jeff Brasen wrote: > Any comments on this change? I suggest CC'ing the maintainers responsible for reviewing this change. (I don't know who they are, unfortunately -- is there a Maintainers.txt file in the uefi-sct tree?) Thanks Laszlo > > > Thanks, > > Jeff > > ________________________________ > From: Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> > Cc: Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > Subject: [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. > > 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 <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > --- > .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- > .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- > 2 files changed, 42 insertions(+), 34 deletions(-) > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/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/BlackBoxTest/UnicodeCollationBBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollationBBTestMain.h" > > > > > > @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( > // > > // Backup current test data > > // > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > CopyUnicodeString (TestDataSav, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > index 653b263a..19ff6764 100644 > --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollation2BBTestMain.h" > > > > STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] ={ > > @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > -- > 2.25.1 > > > > > > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. [-- Attachment #2: Type: text/html, Size: 30805 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 2020-10-05 21:26 ` Jeff Brasen @ 2020-11-11 21:06 ` Samer El-Haj-Mahmoud 2020-11-24 18:42 ` G Edhaya Chandran 0 siblings, 1 reply; 8+ messages in thread From: Samer El-Haj-Mahmoud @ 2020-11-11 21:06 UTC (permalink / raw) To: Jeff Brasen (jbrasen@nvidia.com), devel@edk2.groups.io, Laszlo Ersek Cc: eric.jin@intel.com, G Edhaya Chandran, Barton Gao, Samer El-Haj-Mahmoud [-- Attachment #1: Type: text/plain, Size: 14962 bytes --] Jeff, This just needs to be pushed by a maintainer. Edhaya, Barton, Can you please push the commit? Thanks, --Samer From: Jeff Brasen <jbrasen@nvidia.com> Sent: Monday, October 5, 2020 5:26 PM To: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>; devel@edk2.groups.io; Laszlo Ersek <lersek@redhat.com> Cc: eric.jin@intel.com; G Edhaya Chandran <Edhaya.Chandran@arm.com> Subject: RE: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. Are we looking for any other reviews on this? Thanks, Jeff From: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com<mailto:Samer.El-Haj-Mahmoud@arm.com>> Sent: Tuesday, September 29, 2020 8:05 AM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>>; Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> Cc: eric.jin@intel.com<mailto:eric.jin@intel.com>; G Edhaya Chandran <Edhaya.Chandran@arm.com<mailto:Edhaya.Chandran@arm.com>>; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com<mailto:Samer.El-Haj-Mahmoud@arm.com>> Subject: RE: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. External email: Use caution opening links or attachments Jeff, Thanks for the patch. I will send a patch to move the Maintainers.txt one level up for consistency with other TianoCore repos. Reviewed-By Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com<mailto:Samer.El-Haj-Mahmoud@arm.com>> From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Jeff Brasen via groups.io Sent: Wednesday, September 23, 2020 11:56 AM To: Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> Cc: eric.jin@intel.com<mailto:eric.jin@intel.com>; G Edhaya Chandran <Edhaya.Chandran@arm.com<mailto:Edhaya.Chandran@arm.com>> Subject: Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. Didn't see it at first as it was not at the top of edk2-test but under uefi-sct. CC'd maintainers Thanks, Jeff ________________________________ From: Laszlo Ersek <lersek@redhat.com<mailto:lersek@redhat.com>> Sent: Wednesday, September 23, 2020 2:59 AM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> Subject: Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. External email: Use caution opening links or attachments On 09/23/20 00:13, Jeff Brasen wrote: > Any comments on this change? I suggest CC'ing the maintainers responsible for reviewing this change. (I don't know who they are, unfortunately -- is there a Maintainers.txt file in the uefi-sct tree?) Thanks Laszlo > > > Thanks, > > Jeff > > ________________________________ > From: Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> > Cc: Jeff Brasen <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > Subject: [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. > > 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 <jbrasen@nvidia.com<mailto:jbrasen@nvidia.com>> > --- > .../UnicodeCollationBBTestFunction.c | 38 ++++++++++--------- > .../UnicodeCollation2BBTestFunction.c | 38 ++++++++++--------- > 2 files changed, 42 insertions(+), 34 deletions(-) > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/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/BlackBoxTest/UnicodeCollationBBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation/BlackBoxTest/UnicodeCollationBBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollationBBTestMain.h" > > > > > > @@ -337,6 +337,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -368,14 +369,15 @@ BBTestStrLwrFunctionAutoTest ( > // > > // Backup current test data > > // > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > CopyUnicodeString (TestDataSav, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -390,15 +392,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -413,7 +415,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -458,6 +460,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -490,13 +493,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -511,14 +515,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -533,7 +537,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > index 653b263a..19ff6764 100644 > --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/UnicodeCollation2/BlackBoxTest/UnicodeCollation2BBTestFunction.c > @@ -25,7 +25,7 @@ Abstract: > --*/ > > > > > > -#include "SctLib.h" > +#include "SctLib.h" > > #include "UnicodeCollation2BBTestMain.h" > > > > STATIC CONST STRICOLL_TEST_DATA_FIELD mStriCollTestData[] ={ > > @@ -335,6 +335,7 @@ BBTestStrLwrFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -367,13 +368,14 @@ BBTestStrLwrFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrLwr functionality. > > // > > - UnicodeCollation->StrLwr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrLwr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrLwr (TestDataSav, TestData[Index])) { > > + if (CheckStrLwr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -388,15 +390,15 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -411,7 +413,7 @@ BBTestStrLwrFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > @@ -456,6 +458,7 @@ BBTestStrUprFunctionAutoTest ( > }; > > > > CHAR16 TestDataSav[MAX_SIZE_OF_STRING + 1]; > > + CHAR16 TestDataRw[MAX_SIZE_OF_STRING + 1]; > > > > > > > > @@ -488,13 +491,14 @@ BBTestStrUprFunctionAutoTest ( > // Backup current test data > > // > > CopyUnicodeString (TestDataSav, TestData[Index]); > > + CopyUnicodeString (TestDataRw, TestData[Index]); > > > > // > > // For each test data, test the StrUpr functionality. > > // > > - UnicodeCollation->StrUpr (UnicodeCollation, TestData[Index]); > > + UnicodeCollation->StrUpr (UnicodeCollation, TestDataRw); > > > > - if (CheckStrUpr (TestDataSav, TestData[Index])) { > > + if (CheckStrUpr (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -509,14 +513,14 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > > > - 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); > > > > - if (CheckStrEql (TestDataSav, TestData[Index])) { > > + if (CheckStrEql (TestDataSav, TestDataRw)) { > > AssertionType = EFI_TEST_ASSERTION_PASSED; > > } else { > > AssertionType = EFI_TEST_ASSERTION_FAILED; > > @@ -531,7 +535,7 @@ BBTestStrUprFunctionAutoTest ( > __FILE__, > > (UINTN)__LINE__, > > TestDataSav, > > - TestData[Index] > > + TestDataRw > > ); > > }; > > > > -- > 2.25.1 > > > > > > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. [-- Attachment #2: Type: text/html, Size: 32847 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled. 2020-11-11 21:06 ` Samer El-Haj-Mahmoud @ 2020-11-24 18:42 ` G Edhaya Chandran 0 siblings, 0 replies; 8+ messages in thread From: G Edhaya Chandran @ 2020-11-24 18:42 UTC (permalink / raw) To: Samer El-Haj-Mahmoud, devel [-- Attachment #1: Type: text/plain, Size: 173 bytes --] Reviewed-by: G Edhaya Chandran<edhaya.chandran@arm.com> Upstreamed by Commit-id: https://github.com/tianocore/edk2-test/commit/f96b1f9b8d569a9527c7204f86b4155e1fd8bc2b [-- Attachment #2: Type: text/html, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-11-24 18:42 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-09-11 17:23 [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled Jeff Brasen 2020-09-22 22:13 ` Jeff Brasen 2020-09-23 8:59 ` [edk2-devel] " Laszlo Ersek 2020-09-23 15:56 ` Jeff Brasen 2020-09-29 14:05 ` Samer El-Haj-Mahmoud 2020-10-05 21:26 ` Jeff Brasen 2020-11-11 21:06 ` Samer El-Haj-Mahmoud 2020-11-24 18:42 ` G Edhaya Chandran
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox