From: Laszlo Ersek <lersek@redhat.com>
To: "Zeng, Star" <star.zeng@intel.com>,
"Ni, Ruiyu" <ruiyu.ni@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH] IntelFrameworkModulePkg/Csm: Set CSM memory executable
Date: Mon, 6 Aug 2018 14:53:06 +0200 [thread overview]
Message-ID: <3e0c56b7-726a-2d53-9b1d-4705af3af733@redhat.com> (raw)
In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103BB8D348@shsmsx102.ccr.corp.intel.com>
On 08/06/18 12:20, Zeng, Star wrote:
> Cc Jian.
Right; I believe a non-empty commit message would be helpful. (Issue
description, circumstances of the failure, what the exact edk2 security
feature or setting is that the current LegacyBiosDxe code conflicts
with, ...)
Thanks,
Laszlo
> Thanks,
> Star
>
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ruiyu Ni
> Sent: Monday, August 6, 2018 5:57 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star <star.zeng@intel.com>
> Subject: [edk2] [PATCH] IntelFrameworkModulePkg/Csm: Set CSM memory executable
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Star Zeng <star.zeng@intel.com>
> ---
> .../Csm/LegacyBiosDxe/LegacyBios.c | 22 +++++++++++++++++-----
> 1 file changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBios.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBios.c
> index 8f14687b28..f86d00b53f 100644
> --- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBios.c
> +++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBios.c
> @@ -64,8 +64,9 @@ AllocateLegacyMemory (
> OUT EFI_PHYSICAL_ADDRESS *Result
> )
> {
> - EFI_STATUS Status;
> - EFI_PHYSICAL_ADDRESS MemPage;
> + EFI_STATUS Status;
> + EFI_PHYSICAL_ADDRESS MemPage;
> + EFI_GCD_MEMORY_SPACE_DESCRIPTOR MemDesc;
>
> //
> // Allocate Pages of memory less <= StartPageAddress @@ -83,10 +84,21 @@ AllocateLegacyMemory (
> //
> if (!EFI_ERROR (Status)) {
> *Result = (EFI_PHYSICAL_ADDRESS) (UINTN) MemPage;
> + if (MemoryType != EfiBootServicesCode) {
> + //
> + // Make sure that the buffer can be used to store code.
> + //
> + Status = gDS->GetMemorySpaceDescriptor (MemPage, &MemDesc);
> + if (!EFI_ERROR (Status) && (MemDesc.Attributes & EFI_MEMORY_XP) != 0) {
> + Status = gDS->SetMemorySpaceAttributes (
> + MemPage,
> + EFI_PAGES_TO_SIZE (Pages),
> + MemDesc.Attributes & (~EFI_MEMORY_XP)
> + );
> + }
> + }
> }
> - //
> - // If reach here the status = EFI_SUCCESS
> - //
> +
> return Status;
> }
>
> --
> 2.16.1.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
>
prev parent reply other threads:[~2018-08-06 12:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-06 9:56 [PATCH] IntelFrameworkModulePkg/Csm: Set CSM memory executable Ruiyu Ni
2018-08-06 10:20 ` Zeng, Star
2018-08-06 12:53 ` Laszlo Ersek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3e0c56b7-726a-2d53-9b1d-4705af3af733@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox