Re: [edk2-devel] [PATCH] uefi-sct/SctPkg: Correct issue with memory protection enabled.

2020-10-05 Thread Jeff Brasen
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.

2020-09-29 Thread Samer El-Haj-Mahmoud
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.

2020-09-23 Thread Jeff Brasen
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.

2020-09-23 Thread Laszlo Ersek
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.

2020-09-22 Thread Jeff Brasen
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.

2020-09-11 Thread 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 
---
 .../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]

+