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 Sent: Tuesday, September 29, 2020 8:05 AM To: devel@edk2.groups.io; Jeff Brasen ; Laszlo Ersek Cc: eric@intel.com; G Edhaya Chandran ; Samer El-Haj-Mahmoud 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 mailto:samer.el-haj-mahm...@arm.com>> From: devel@edk2.groups.io<mailto: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 mailto:ler...@redhat.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io> Cc: eric@intel.com<mailto:eric@intel.com>; G Edhaya Chandran mailto:edhaya.chand...@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 mailto:ler...@redhat.com>> Sent: Wednesday, September 23, 2020 2:59 AM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> mailto:devel@edk2.groups.io>>; Jeff Brasen mailto:jbra...@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 mailto:jbra...@nvidia.com>> > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> > mailto:devel@edk2.groups.io>> > Cc: Jeff Brasen mailto:jbra...@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 mailto:jbra...@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[In
Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled.
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 From: devel@edk2.groups.io On Behalf Of Jeff Brasen via groups.io Sent: Wednesday, September 23, 2020 11:56 AM To: Laszlo Ersek ; devel@edk2.groups.io Cc: eric@intel.com; G Edhaya Chandran 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 mailto:ler...@redhat.com>> Sent: Wednesday, September 23, 2020 2:59 AM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> mailto:devel@edk2.groups.io>>; Jeff Brasen mailto:jbra...@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 mailto:jbra...@nvidia.com>> > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> > mailto:devel@edk2.groups.io>> > Cc: Jeff Brasen mailto:jbra...@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 mailto:jbra...@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])) { > > +
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 Sent: Wednesday, September 23, 2020 2:59 AM To: devel@edk2.groups.io ; Jeff Brasen 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 > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io > Cc: Jeff Brasen > 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 > --- > .../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]; > > >
Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled.
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 > Sent: Friday, September 11, 2020 11:23 AM > To: devel@edk2.groups.io > Cc: Jeff Brasen > 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 > --- > .../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__, > >
Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled.
Any comments on this change? Thanks, Jeff From: Jeff Brasen Sent: Friday, September 11, 2020 11:23 AM To: devel@edk2.groups.io Cc: Jeff Brasen 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 --- .../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 {
[edk2-devel] [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 --- .../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] +