diff options
| author | spectrum151 <noobvlol@gmail.com> | 2026-10-07 17:43:35 +0300 |
|---|---|---|
| committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2026-10-07 22:50:30 +0300 |
| commit | 820b297fdc503c4882754971f9c74b90014683c0 (patch) | |
| tree | d546e1cc183c168296ea11a82170a44f3bb932e2 /BaseTools/Source/Python/Workspace/MetaFileParser.py | |
| parent | 42104f55d135cc744b518202c54825cd289ea684 (diff) | |
| download | edk2-820b297fdc503c4882754971f9c74b90014683c0.tar.xz | |
UefiCpuPkg/PiSmmCpuDxeSmm: Fix IdtEntryTable overflow in SmmRestoreCpu
Commit 3454d7ab41 changed SmmRestoreCpu() to clear and load an X64 IDT
of X86_CPU_INTERRUPT_NUM (256) entries, but left the local IdtEntryTable
array sized with EXCEPTION_VECTOR_NUMBER (32).
ZeroMem() and InitializeCpuExceptionHandlers() then write 4 KB into a
512-byte stack array and corrupt the SMM stack on S3 resume. On
platforms with 32-bit PEI and 64-bit SMM this ends in a #GP in
PiSmmCpuDxeSmm before the OS waking vector is reached.
Size IdtEntryTable with X86_CPU_INTERRUPT_NUM to match.
Fixes: 3454d7ab41 ("UefiCpuPkg: Set up 256 IDT Descs in SEC/PEI/SMM")
Fixes: https://github.com/tianocore/edk2/issues/13267
Signed-off-by: spectrum151 <noobvlol@gmail.com>
Diffstat (limited to 'BaseTools/Source/Python/Workspace/MetaFileParser.py')
0 files changed, 0 insertions, 0 deletions
