Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 6c299acf48fde3811c027b6ceddd0c0eb97ba38f
      
https://github.com/tianocore/edk2/commit/6c299acf48fde3811c027b6ceddd0c0eb97ba38f
  Author: Ard Biesheuvel <a...@kernel.org>
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
    M BaseTools/Source/C/GenFw/Elf64Convert.c
    M BaseTools/Source/C/GenFw/elf_common.h

  Log Message:
  -----------
  BaseTools/GenFw: Parse IBT/BTI support status from ELF note

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4405

When performing ELF to PE/COFF conversion, parse any notes sections to
decide whether the image supports forward CFI landing pads. This will be
used to set the associated DllCharacteristicsEx flag in a subsequent
patch.

Signed-off-by: Ard Biesheuvel <a...@kernel.org>
Reviewed-by: Leif Lindholm <quic_llind...@quicinc.com>
Reviewed-by: Oliver Smith-Denny <o...@linux.microsoft.com>
Acked-by: Michael Kubacki <michael.kuba...@microsoft.com>
Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>


  Commit: b62d7ac97b67e192d45e02ec3554a52736c66dfa
      
https://github.com/tianocore/edk2/commit/b62d7ac97b67e192d45e02ec3554a52736c66dfa
  Author: Ard Biesheuvel <a...@kernel.org>
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
    M BaseTools/Source/C/GenFw/Elf64Convert.c
    M BaseTools/Source/C/GenFw/GenFw.c
    M BaseTools/Source/C/Include/IndustryStandard/PeImage.h

  Log Message:
  -----------
  BaseTools/GenFw: Add DllCharacteristicsEx field to debug data

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4405

The PE/COFF spec describes an additional DllCharacteristics field
implemented as a debug directory entry, which carries flags related to
which control flow integrity (CFI) features are supported by the binary.

So let's add this entry when doing ELF to PE/COFF conversion - we will
add support for setting the flags in a subsequent patch.

Signed-off-by: Ard Biesheuvel <a...@kernel.org>
Reviewed-by: Leif Lindholm <quic_llind...@quicinc.com>
Reviewed-by: Oliver Smith-Denny <o...@linux.microsoft.com>
Reviewed-by: Michael Kubacki <michael.kuba...@microsoft.com>
Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>


  Commit: d6457b3090fea2e26f94e8419f77455945bc4c41
      
https://github.com/tianocore/edk2/commit/d6457b3090fea2e26f94e8419f77455945bc4c41
  Author: Ard Biesheuvel <a...@kernel.org>
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
    M MdePkg/Include/IndustryStandard/PeImage.h
    M MdePkg/Include/Library/PeCoffLib.h
    M MdePkg/Library/BasePeCoffLib/BasePeCoff.c

  Log Message:
  -----------
  MdePkg/PeCoffLib: Capture DLL characteristics fields in image context

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4405

When loading a PE/COFF image, capture the DLL characteristics fields of
the header into our image context structure so we can refer to them when
mapping the image.

Signed-off-by: Ard Biesheuvel <a...@kernel.org>
Reviewed-by: Leif Lindholm <quic_llind...@quicinc.com>
Reviewed-by: Oliver Smith-Denny <o...@linux.microsoft.com>
Reviewed-by: Michael Kubacki <michael.kuba...@microsoft.com>
Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>


  Commit: 6405cd03048c1850d5047bf66fefa04189a05c94
      
https://github.com/tianocore/edk2/commit/6405cd03048c1850d5047bf66fefa04189a05c94
  Author: Ard Biesheuvel <a...@kernel.org>
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
    M MdeModulePkg/Core/Dxe/DxeMain.h
    M MdeModulePkg/Core/Dxe/Image/Image.c
    M MdeModulePkg/Core/Dxe/Misc/MemoryAttributesTable.c

  Log Message:
  -----------
  MdeModulePkg: Enable forward edge CFI in mem attributes table

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4405

The memory attributes table has been extended with a flag that indicates
whether or not the OS is permitted to map the EFI runtime code regions
with strict enforcement for IBT/BTI landing pad instructions.

Given that the PE/COFF spec now defines a DllCharacteristicsEx flag that
indicates whether or not a loaded image is compatible with this, we can
wire this up to the flag in the memory attributes table, and set it if
all loaded runtime image are compatible with it.

Signed-off-by: Ard Biesheuvel <a...@kernel.org>
Reviewed-by: Leif Lindholm <quic_llind...@quicinc.com>
Reviewed-by: Oliver Smith-Denny <o...@linux.microsoft.com>
Reviewed-by: Michael Kubacki <michael.kuba...@microsoft.com>
Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>


Compare: https://github.com/tianocore/edk2/compare/cdf6ff1719a9...6405cd03048c


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to