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>

 

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>
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
>
>
>
>
>
>
>

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.