On Mon, Mar 27, 2023 at 13:01:10 +0200, Ard Biesheuvel wrote:
> UEFI v2.10 introduces a new flag to the memory attributes table to
> inform the OS whether or not runtime services code regions were emitted
> by the compiler with guard instructions for forward edge control flow
> integrity enforcement.
>
> So update our definition accordingly.
>
> Link:
> https://uefi.org/specs/UEFI/2.10/04_EFI_System_Table.html#efi-memory-attributes-table
> Signed-off-by: Ard Biesheuvel <[email protected]>
> Reviewed-by: Michael D Kinney <[email protected]>
> Acked-by: Michael Kubacki <[email protected]>
> ---
> MdePkg/Include/Guid/MemoryAttributesTable.h | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/MdePkg/Include/Guid/MemoryAttributesTable.h
> b/MdePkg/Include/Guid/MemoryAttributesTable.h
> index 82f83a67b96d38c5..238c14ff92dfed31 100644
> --- a/MdePkg/Include/Guid/MemoryAttributesTable.h
> +++ b/MdePkg/Include/Guid/MemoryAttributesTable.h
> @@ -17,11 +17,15 @@ typedef struct {
> UINT32 Version;
> UINT32 NumberOfEntries;
> UINT32 DescriptorSize;
> - UINT32 Reserved;
> + UINT32 Flags;
Does this not cause a bisect breakage vs patch 17?
/
Leif
> // EFI_MEMORY_DESCRIPTOR Entry[1];
> } EFI_MEMORY_ATTRIBUTES_TABLE;
>
> -#define EFI_MEMORY_ATTRIBUTES_TABLE_VERSION 0x00000001
> +#define EFI_MEMORY_ATTRIBUTES_TABLE_VERSION 0x00000002
> +
> +#define EFI_MEMORY_ATTRIBUTES_FLAGS_RT_FORWARD_CONTROL_FLOW_GUARD 0x1
> +// BIT0 implies that Runtime code includes the forward control flow guard
> +// instruction, such as X86 CET-IBT or ARM BTI.
>
> extern EFI_GUID gEfiMemoryAttributesTableGuid;
>
> --
> 2.39.2
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101955): https://edk2.groups.io/g/devel/message/101955
Mute This Topic: https://groups.io/mt/97879302/21656
Group Owner: [email protected]
Unsubscribe:
https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-