回复: [edk2-devel] [PATCH v3 0/4] Enable BTI support in memory attributes table

gaoliming via groups.io gaoliming=byosoft.com.cn at groups.io
Thu Apr 6 01:33:53 UTC 2023


Ard:
 Can you submit one BZ for this new feature? I will add it into the stable tag feature planning. 

 For this patch set, Reviewed-by: Liming Gao <gaoliming at byosoft.com.cn>

Thanks
Liming
> -----邮件原件-----
> 发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Ard
> Biesheuvel
> 发送时间: 2023年4月4日 23:40
> 收件人: devel at edk2.groups.io
> 抄送: Ard Biesheuvel <ardb at kernel.org>; Michael Kinney
> <michael.d.kinney at intel.com>; Liming Gao <gaoliming at byosoft.com.cn>;
> Jiewen Yao <jiewen.yao at intel.com>; Michael Kubacki
> <michael.kubacki at microsoft.com>; Sean Brogan
> <sean.brogan at microsoft.com>; Rebecca Cran <quic_rcran at quicinc.com>;
> Leif Lindholm <quic_llindhol at quicinc.com>; Sami Mujawar
> <sami.mujawar at arm.com>; Taylor Beebe <t at taylorbeebe.com>; Marvin
> Häuser <mhaeuser at posteo.de>; Bob Feng <bob.c.feng at intel.com>; Oliver
> Smith-Denny <osde at linux.microsoft.com>
> 主题: [edk2-devel] [PATCH v3 0/4] Enable BTI support in memory attributes
> table
> 
> Implement version 2 of the memory attributes table, which now contains a
> 
> flag informing the OS whether or not code regions may be mapped with CFI
> 
> mitigations such as IBT or BTI enabled.
> 
> 
> 
> This series covers the remaining parts after the AArch64 specific
> 
> changes were merged:
> 
> 
> 
> - Update the BaseTools to emit the appropriate PE/COFF annotation when a
> 
>   BTI/IBT compatible ELF executable is converted to PE/COFF
> 
> - Take this PE/COFF annotation into account when populating the memory
> 
>   attributes table in the DXE core
> 
> 
> 
> TODO:
> 
> - X64 changes to make the code IBT compatible and emit the ELF note
> 
> - Figure out how to generate such executables with native PE toolchains
> 
> - Implement BTI/IBT enforcement at boot time - this is something I
> 
>   intend to look into next.
> 
> 
> 
> Can be tested with the CLANG38 toolchain (both Clang compiler and LLD
> 
> linker, version 3.8 or newer) with the following build options.
> 
> 
> 
> [BuildOptions]
> 
>   GCC:*_*_AARCH64_PP_FLAGS = -mbranch-protection=bti
> 
>   GCC:*_*_AARCH64_CC_FLAGS = -mbranch-protection=bti
> 
>   GCC:*_*_AARCH64_DLINK_FLAGS = -fuse-ld=lld
> -Wl,--no-relax,--no-pie,-z,bti-report=error
> 
> 
> 
> Changes since v2:
> 
> - increase DllCharacteristicsEx field to 4 bytes
> 
> - add Oliver's Rb
> 
> 
> 
> If no comments or objections have been raised by the end of the week, I
> 
> will go ahead and merge this - thanks.
> 
> 
> 
> Cc: Michael Kinney <michael.d.kinney at intel.com>
> 
> Cc: Liming Gao <gaoliming at byosoft.com.cn>
> 
> Cc: Jiewen Yao <jiewen.yao at intel.com>
> 
> Cc: Michael Kubacki <michael.kubacki at microsoft.com>
> 
> Cc: Sean Brogan <sean.brogan at microsoft.com>
> 
> Cc: Rebecca Cran <quic_rcran at quicinc.com>
> 
> Cc: Leif Lindholm <quic_llindhol at quicinc.com>
> 
> Cc: Sami Mujawar <sami.mujawar at arm.com>
> 
> Cc: Taylor Beebe <t at taylorbeebe.com>
> 
> Cc: Marvin Häuser <mhaeuser at posteo.de>
> 
> Cc: Bob Feng <bob.c.feng at intel.com>
> 
> Cc: Oliver Smith-Denny <osde at linux.microsoft.com>
> 
> 
> 
> Ard Biesheuvel (4):
> 
>   BaseTools/GenFw: Parse IBT/BTI support status from ELF note
> 
>   BaseTools/GenFw: Add DllCharacteristicsEx field to debug data
> 
>   MdePkg/PeCoffLib: Capture DLL characteristics fields in image context
> 
>   MdeModulePkg: Enable forward edge CFI in mem attributes table
> 
> 
> 
>  BaseTools/Source/C/GenFw/Elf64Convert.c               | 104
> +++++++++++++++++---
> 
>  BaseTools/Source/C/GenFw/GenFw.c                      |   3 +-
> 
>  BaseTools/Source/C/GenFw/elf_common.h                 |   9 ++
> 
>  BaseTools/Source/C/Include/IndustryStandard/PeImage.h |  13 ++-
> 
>  MdeModulePkg/Core/Dxe/DxeMain.h                       |   2 +
> 
>  MdeModulePkg/Core/Dxe/Image/Image.c                   |  10 ++
> 
>  MdeModulePkg/Core/Dxe/Misc/MemoryAttributesTable.c    |   8 +-
> 
>  MdePkg/Include/IndustryStandard/PeImage.h             |  13 ++-
> 
>  MdePkg/Include/Library/PeCoffLib.h                    |   6 ++
> 
>  MdePkg/Library/BasePeCoffLib/BasePeCoff.c             |  46
> ++++++---
> 
>  10 files changed, 186 insertions(+), 28 deletions(-)
> 
> 
> 
> --
> 
> 2.39.2
> 
> 
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#102491):
> https://edk2.groups.io/g/devel/message/102491
> Mute This Topic: https://groups.io/mt/98062730/4905953
> Group Owner: devel+owner at edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaoliming at byosoft.com.cn]
> -=-=-=-=-=-=
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#102582): https://edk2.groups.io/g/devel/message/102582
Mute This Topic: https://groups.io/mt/98096794/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list