diff options
author | Lenny Szubowicz <lszubowi@redhat.com> | 2025-09-16 15:38:53 -0400 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2025-09-29 17:13:39 +0200 |
commit | 99da5bf3dd6a8cb951adcace6153c34c86547811 (patch) | |
tree | 40e80e29ba7240e6ebc86eaf676d15505f608d4d /rust/helpers/helpers.c | |
parent | 05e75ac35ee9e38f96bbfebf1830ec2cace2e7f8 (diff) |
efi/x86: Memory protection on EfiGcdMemoryTypeMoreReliable
Check for needed memory protection changes on EFI DXE GCD memory space
descriptors with type EfiGcdMemoryTypeMoreReliable in addition to
EfiGcdMemoryTypeSystemMemory.
This fixes a fault on entry into the decompressed kernel from the
EFI stub that occurs when the memory allocated for the decompressed
kernel is more reliable memory, has NX/XP set, and the kernel needs
to use the EFI DXE protocol to adjust memory protections.
The memory descriptors returned by the DXE protocol
GetMemorySpaceDescriptor() service use a different GCD memory type
to distinguish more reliable memory ranges from their conventional
counterparts. This is in contrast to the EFI memory descriptors
returned by the EFI GetMemoryMap() service which use the
EFI_MEMORY_MORE_RELIABLE memory attributes flag to identify
EFI_CONVENTIONAL_MEMORY type regions that have this additional
property.
Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions