Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 837bb626613eb6ae2d9c647b39dc2784a6586c2d
      
https://github.com/tianocore/edk2/commit/837bb626613eb6ae2d9c647b39dc2784a6586c2d
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M NetworkPkg/UefiPxeBcDxe/GoogleTest/PxeBcDhcp6GoogleTest.cpp

  Log Message:
  -----------
  NetworkPkg: PxeBcDhcp6GoogleTest: Fix Stack Smashing Unit Test

PxeBcDhcp6GoogleTest's MultipleDnsEntries test started to fail
with stack cookies added for host applications. Debugging this
showed that the test was attempting to copy two UINT16s to a
UINT8 Data[1] array allocated on the stack. This was moved to
a heap based allocation for a UINT32 to accommodate the proper
size. After this fix, the unit test passed with stack cookies
enabled.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 26c381801126527943b08ee1cff4133dfcfd3d77
      
https://github.com/tianocore/edk2/commit/26c381801126527943b08ee1cff4133dfcfd3d77
  Author: Bret Barkelew <brbar...@microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    A UnitTestFrameworkPkg/UnitTestFrameworkPkgCommon.dsc.inc
    M UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
    M UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc

  Log Message:
  -----------
  UnitTestFrameworkPkg: Move common includes to their own file

Previously, the UnitTestFrameworkPkgHost.dsc.inc included the entire
UnitTestFrameworkPkgTarget.dsc.inc file. This is unnecessary for
most configurations, so copy the relevant common components to a
separate file.

This is required for stack cookies so that we can have stack
cookies on target based test apps but not on host base test apps.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 3a9da5f329ab9683bffc451502a2f0680568a71f
      
https://github.com/tianocore/edk2/commit/3a9da5f329ab9683bffc451502a2f0680568a71f
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M MdePkg/MdePkg.dec

  Log Message:
  -----------
  MdePkg: Add Stack Cookie Interrupt Vector PCD

This patch adds a PCD allowing a platform to specify
the interrupt vector to trigger on a stack check
failure. On x86, this is an offset into the IDT.
On ARM/AARCH64, this triggers a software interrupt
that can be decoded to indicate this was a stack
check failure.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: ac43bbacdef18a6fea6d978e096326ec0805885d
      
https://github.com/tianocore/edk2/commit/ac43bbacdef18a6fea6d978e096326ec0805885d
  Author: Taylor Beebe <taylor.d.be...@gmail.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    A MdePkg/Include/Library/StackCheckFailureHookLib.h
    A MdePkg/Library/StackCheckFailureHookLibNull/StackCheckFailureHook.c
    A 
MdePkg/Library/StackCheckFailureHookLibNull/StackCheckFailureHookLibNull.inf
    A MdePkg/Library/StackCheckLibNull/IA32/StackCheckFunctionsMsvc.nasm
    A MdePkg/Library/StackCheckLibNull/StackCheckLibHostApplicationMsvc.c
    A MdePkg/Library/StackCheckLibNull/StackCheckLibNull.inf
    A MdePkg/Library/StackCheckLibNull/StackCheckLibNullGcc.c
    A MdePkg/Library/StackCheckLibNull/StackCheckLibNullHostApplication.inf
    A MdePkg/Library/StackCheckLibNull/StackCheckLibNullMsvc.c
    A MdePkg/Library/StackCheckLibNull/X64/StackCheckFunctionsMsvc.nasm
    M MdePkg/MdeLibs.dsc.inc
    M MdePkg/MdePkg.ci.yaml
    M MdePkg/MdePkg.dec
    M MdePkg/MdePkg.dsc
    M MdePkg/Test/MdePkgHostTest.dsc

  Log Message:
  -----------
  MdePkg: Create Stack Check Null Libs

Add Null libs for Stack Check and Stack Check Failure Hook Lib that
allow a platform to opt out of stack checks and the stack check failure
hook lib.

StackCheckLib allows implementation (or in this case null implementation)
of stack checks on binaries. There is a Host Application specific version
of this null lib because MSVC host applications must not be linked against
our lib (so the file here is a no-op but that doesn't cause the build
system to fail the build for not building a file for MSVC) as it links
against the MSVC C runtime lib that provides the stack cookie definitions.
GCC host applications do not link against such a C runtime lib and must
be linked against our version.

StackCheckFailureHookLib lets a platform do custom functionality when a
stack check failure occurs (such as log it to a platform defined
mechanism). The null lib simply returns.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 5000568969995293b529f49ea43726e2d0a9dcab
      
https://github.com/tianocore/edk2/commit/5000568969995293b529f49ea43726e2d0a9dcab
  Author: Taylor Beebe <taylor.d.be...@gmail.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    A MdePkg/Library/StackCheckLib/AArch64/StackCookieInterrupt.S
    A MdePkg/Library/StackCheckLib/AArch64/StackCookieInterrupt.asm
    A MdePkg/Library/StackCheckLib/Arm/StackCookieInterrupt.S
    A MdePkg/Library/StackCheckLib/Arm/StackCookieInterrupt.asm
    A MdePkg/Library/StackCheckLib/IA32/CheckCookieMsvc.nasm
    A MdePkg/Library/StackCheckLib/IA32/StackCookieInterrupt.nasm
    A MdePkg/Library/StackCheckLib/Readme.md
    A MdePkg/Library/StackCheckLib/StackCheckLibCommonGcc.c
    A MdePkg/Library/StackCheckLib/StackCheckLibCommonMsvc.c
    A MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf
    A MdePkg/Library/StackCheckLib/X64/CheckCookieMsvc.nasm
    M MdePkg/MdePkg.dsc

  Log Message:
  -----------
  MdePkg: Create Stack Check Lib

StackCheckLib contains the required functionality for initializing
the stack cookie value, checking the value, and triggering an interrupt
when a mismatch occurs. The stack cookie is a random value placed on the
stack between the stack variables and the return address so that
continuously writing past the stack variables will cause the stack cookie
to be overwritten. Before the function returns, the stack cookie value
will be checked and if there is a mismatch then StackCheckLib handles the
failure.

Because UEFI doesn't use the C runtime libraries provided by MSVC, the
stack check code is written in assembly within this library. GCC and
Clang compilers have built-in support for stack cookie checking, so this
library only handles failures.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: d1faaa8eae7a3423bbb824750d780a95266affb6
      
https://github.com/tianocore/edk2/commit/d1faaa8eae7a3423bbb824750d780a95266affb6
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M ArmPkg/ArmPkg.dsc
    M ArmPkg/Drivers/ArmCrashDumpDxe/ArmCrashDumpDxe.dsc

  Log Message:
  -----------
  ArmPkg: Remove Deprecated Stack Check Lib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: acab6dbf8776b0d16d0ae5809321e72186f61449
      
https://github.com/tianocore/edk2/commit/acab6dbf8776b0d16d0ae5809321e72186f61449
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M ArmPlatformPkg/ArmPlatformPkg.dsc

  Log Message:
  -----------
  ArmPlatformPkg: Add Null Stack Check Lib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 02e6c73a99a4157295b85c58d24537c5fe37de05
      
https://github.com/tianocore/edk2/commit/02e6c73a99a4157295b85c58d24537c5fe37de05
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M ArmVirtPkg/ArmVirt.dsc.inc

  Log Message:
  -----------
  ArmVirtPkg: Add Null Stack Check Lib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: c9320adf22948696f1504b24952695ace489448b
      
https://github.com/tianocore/edk2/commit/c9320adf22948696f1504b24952695ace489448b
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M CryptoPkg/CryptoPkg.dsc
    M CryptoPkg/CryptoPkgMbedTls.dsc

  Log Message:
  -----------
  CryptoPkg: Add StackCheckLib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 8c21bc715713cc788507aa70d080cf5976ec93af
      
https://github.com/tianocore/edk2/commit/8c21bc715713cc788507aa70d080cf5976ec93af
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M DynamicTablesPkg/DynamicTablesPkg.dsc

  Log Message:
  -----------
  DynamicTablesPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: e7c0ad366106839842f7b5f40a2f6efd87338b63
      
https://github.com/tianocore/edk2/commit/e7c0ad366106839842f7b5f40a2f6efd87338b63
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M EmbeddedPkg/EmbeddedPkg.dsc

  Log Message:
  -----------
  EmbeddedPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: ae5953dea06e0b79a808168892913f6ada07302d
      
https://github.com/tianocore/edk2/commit/ae5953dea06e0b79a808168892913f6ada07302d
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M EmulatorPkg/EmulatorPkg.dsc

  Log Message:
  -----------
  EmulatorPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 6f0ba2047114be3eb4439ee4b533e0f8ab96d6e5
      
https://github.com/tianocore/edk2/commit/6f0ba2047114be3eb4439ee4b533e0f8ab96d6e5
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M FatPkg/FatPkg.dsc

  Log Message:
  -----------
  FatPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 715a695c3d0c6058efc308a585c15bcbdc8af4c7
      
https://github.com/tianocore/edk2/commit/715a695c3d0c6058efc308a585c15bcbdc8af4c7
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M FmpDevicePkg/FmpDevicePkg.dsc

  Log Message:
  -----------
  FmpDevicePkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 254e4cfa8ccdaa8aaad1118ca2bd9cba5e72137d
      
https://github.com/tianocore/edk2/commit/254e4cfa8ccdaa8aaad1118ca2bd9cba5e72137d
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M IntelFsp2Pkg/IntelFsp2Pkg.dsc

  Log Message:
  -----------
  IntelFsp2Pkg: Add StackCheckLibNull

Adds the null instance of StackCheckLib to SEC modules

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 847561eb53b390d1bc1f1c4df4a109f6e20f7f98
      
https://github.com/tianocore/edk2/commit/847561eb53b390d1bc1f1c4df4a109f6e20f7f98
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dsc

  Log Message:
  -----------
  IntelFsp2WrapperPkg: Add StackCheckLib

Adds null version of StackCheckLib to SEC modules.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 000b61eff831cbde0818c99c7065bb848c8709e2
      
https://github.com/tianocore/edk2/commit/000b61eff831cbde0818c99c7065bb848c8709e2
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M MdeModulePkg/MdeModulePkg.dsc

  Log Message:
  -----------
  MdeModulePkg: Add StackCheckLib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: fefd0178517ce7424e02c995979834158210b720
      
https://github.com/tianocore/edk2/commit/fefd0178517ce7424e02c995979834158210b720
  Author: Taylor Beebe <taylor.d.be...@gmail.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M NetworkPkg/NetworkPkg.dsc
    M NetworkPkg/Test/NetworkPkgHostTest.dsc

  Log Message:
  -----------
  NetworkPkg: Add StackCheckLib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 538b10f157b2db2359ed039a4aa0860118ed09dc
      
https://github.com/tianocore/edk2/commit/538b10f157b2db2359ed039a4aa0860118ed09dc
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M OvmfPkg/AmdSev/AmdSevX64.dsc
    M OvmfPkg/Bhyve/BhyveX64.dsc
    M OvmfPkg/CloudHv/CloudHvX64.dsc
    M OvmfPkg/IntelTdx/IntelTdxX64.dsc
    M OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
    M OvmfPkg/Microvm/MicrovmX64.dsc
    M OvmfPkg/OvmfPkgIa32.dsc
    M OvmfPkg/OvmfPkgIa32X64.dsc
    M OvmfPkg/OvmfPkgX64.dsc
    M OvmfPkg/OvmfXen.dsc
    M OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc

  Log Message:
  -----------
  OvmfPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: a275f1018607e5571384b756f92dbdae3cf84c83
      
https://github.com/tianocore/edk2/commit/a275f1018607e5571384b756f92dbdae3cf84c83
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M PcAtChipsetPkg/PcAtChipsetPkg.dsc

  Log Message:
  -----------
  PcAtChipsetPkg: Add StackCheckLib

Add Null implementation of StackCheckLib.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: e4c3c3eb65daa557dac40b4c68cc3589cd674986
      
https://github.com/tianocore/edk2/commit/e4c3c3eb65daa557dac40b4c68cc3589cd674986
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M PrmPkg/PrmPkg.dsc

  Log Message:
  -----------
  PrmPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 78d5d274707c90a73781341fb0ffa440348a34c4
      
https://github.com/tianocore/edk2/commit/78d5d274707c90a73781341fb0ffa440348a34c4
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M RedfishPkg/RedfishPkg.dsc

  Log Message:
  -----------
  RedfishPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 7ca87dcc6a4611278af26200e555220ae67fd6c6
      
https://github.com/tianocore/edk2/commit/7ca87dcc6a4611278af26200e555220ae67fd6c6
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M SecurityPkg/SecurityPkg.dsc

  Log Message:
  -----------
  SecurityPkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: ce347727a04bfa8db43fc809771f42fcb7f630dd
      
https://github.com/tianocore/edk2/commit/ce347727a04bfa8db43fc809771f42fcb7f630dd
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M SignedCapsulePkg/SignedCapsulePkg.dsc

  Log Message:
  -----------
  SignedCapsulePkg: Add StackCheckLibNull

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 2e8fb6b406b962fdc0d0920f28c4fa1389696579
      
https://github.com/tianocore/edk2/commit/2e8fb6b406b962fdc0d0920f28c4fa1389696579
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M ShellPkg/ShellPkg.dsc

  Log Message:
  -----------
  ShellPkg: Add StackCheckLib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: d7a0a7ae4a87022c9938a42a00a523c276be4fa2
      
https://github.com/tianocore/edk2/commit/d7a0a7ae4a87022c9938a42a00a523c276be4fa2
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M SourceLevelDebugPkg/SourceLevelDebugPkg.dsc

  Log Message:
  -----------
  SourceLevelDebugPkg: Add StackCheckLib

Add null implementation of StackCheckLib

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 7b4b1d2bd3f1c3fb7b8a2f72bac08a4eeb9c3a6e
      
https://github.com/tianocore/edk2/commit/7b4b1d2bd3f1c3fb7b8a2f72bac08a4eeb9c3a6e
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M StandaloneMmPkg/StandaloneMmPkg.dsc

  Log Message:
  -----------
  StandaloneMmPkg: Add StackCheckLib

Remove the old stack check lib now that MdeLibs.inc includes
the new one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: dfc397133bc88de5589c93645eda320eb4aefefb
      
https://github.com/tianocore/edk2/commit/dfc397133bc88de5589c93645eda320eb4aefefb
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M UefiCpuPkg/UefiCpuPkg.dsc

  Log Message:
  -----------
  UefiCpuPkg: Add StackCheckLib

SecCore and SecCoreNative require StackCheckLib and so the NULL
instance is linked against them here.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 17744fc9ce655e3ffcbaa358c039c38831f385f2
      
https://github.com/tianocore/edk2/commit/17744fc9ce655e3ffcbaa358c039c38831f385f2
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M UefiPayloadPkg/UefiPayloadPkg.dsc

  Log Message:
  -----------
  UefiPayloadPkg: Add StackCheckLib

Add null implementation of StackCheckLib

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: 5e07b970940ec1bdbcbec01e733b20532c0b547c
      
https://github.com/tianocore/edk2/commit/5e07b970940ec1bdbcbec01e733b20532c0b547c
  Author: Oliver Smith-Denny <o...@microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
    M UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc

  Log Message:
  -----------
  UnitTestFrameworkPkg: Add StackCheckLib

Add StackCheckLib for Target and Host based unit tests. Host
based unit tests are treated specially, because MSVC built
host based unit tests use the MSVC C runtime lib to provide
the stack cookie definitions, but GCC built host based unit
tests use our implementation, as we do not link against a
C runtime lib that provides the definitions.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: cac0955658cb591d4629bf90aaa542a66e25be55
      
https://github.com/tianocore/edk2/commit/cac0955658cb591d4629bf90aaa542a66e25be55
  Author: Taylor Beebe <taylor.d.be...@gmail.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M BaseTools/Source/Python/AutoGen/GenC.py
    M BaseTools/Source/Python/Common/GlobalData.py
    M BaseTools/Source/Python/build/build.py

  Log Message:
  -----------
  BaseTools: Update Stack Cookie Logic

This patch updates the GenC logic to generate a random stack cookie value
for the stack check libraries. These random values improve security
for modules which cannot update the global intrinsics.

If the stack cookie value is randomized in the AutoGen.h file each
build, the build system will determine the module/library must be
rebuilt causing effectively a clean build every time. This also makes
binary reproducibility impossible.

This patch updates the early build scripts to create 32 and 64-bit JSON
files in the build output directory which each contain 100 randomized
stack cookie values for each bitwidth. If the JSON files are already
present, then they are not recreated which allows them to be stored and
moved to other builds for binary reproducibility. Because they are in
the build directory, a clean build will cause the values to be
regenerated.

The logic which creates AutoGen.h will read these JSON files and use a
hash of the module GUID (the hash seed is fixed in Basetools) to index
into the array of stack cookie values for the module bitwidth. This
model is necessary because there isn't thread-consistent data so we
cannot use a locking mechanism to ensure only one thread is writing to
the stack cookie files at a time. With this model, the build threads
only need to read from the files.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: f53f029122d4493e9db95e2424dd8f067f247661
      
https://github.com/tianocore/edk2/commit/f53f029122d4493e9db95e2424dd8f067f247661
  Author: Taylor Beebe <taylor.d.be...@gmail.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M BaseTools/Conf/tools_def.template

  Log Message:
  -----------
  BaseTools: Add Stack Cookie Support to MSVC and GCC IA32/X64/ARM/AARCH64

This patch directs MSVC and GCC to build stack cookie support into
binaries.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


  Commit: a9b38305b64ef5997d0ba5f7d2797a75edd1f9ef
      
https://github.com/tianocore/edk2/commit/a9b38305b64ef5997d0ba5f7d2797a75edd1f9ef
  Author: Oliver Smith-Denny <o...@linux.microsoft.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    R MdePkg/Library/BaseStackCheckLib/BaseStackCheckGcc.c
    R MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
    R MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.uni
    R MdePkg/Library/BaseStackCheckLib/BaseStackCheckNull.c
    M MdePkg/MdePkg.dsc

  Log Message:
  -----------
  MdePkg: Remove Old Stack Check Lib Implementation

Now that the new stack check lib implementation is being used
everywhere, remove the old one.

Signed-off-by: Oliver Smith-Denny <o...@linux.microsoft.com>


Compare: https://github.com/tianocore/edk2/compare/6706fe6e2392...a9b38305b64e

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


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

Reply via email to