Skip to content

[Req]: Properly Install EFI_MEMORY_ATTRIBUTE_PROTOCOL when NX support is enabled. #651

@TBOpen

Description

@TBOpen

VirtualBoxAudit.txt

Component

CPU NX Support

What problem are you facing?

I need to test NX support and be nice under VirtualBox. However, even though I enabled PAE/NX support the EFI_MEMORY_ATTRIBUTE_PROTOCOL was not available within my EFI application that supports NX.

How can we fix this?

Properly build in full NX support. AI says (so you need to check it) to use the following in your platform .dsc:

[PcdsFixedAtBuild]

NX / Memory Protection

gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x03
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE

Extra hardening

gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard|TRUE

What alternatives or workarounds exist?

use a machine that support NX.

Anything else we should know?

I added the results of a couple of the the mu_plus audit tools to perhaps help. If you need the two .efi audit tools I built, I can send it (just ask), it wasn't easy to build since I built using EDK2 not the mu_base - also they have a bunch of NULL libs so to get output had to go find and adjust them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions