Hi all, I have recently discovered a bug in the BaseLib's implementation of SetJump and LongJump; the offsets listed in the assembly files are 8 bytes off, causing the functions to read/write 8 bytes past the end of the jump buffer. More details can be found in the commit message.
I must admit I am a bit surprised this has not bee caught before, especially since the original implementation dates some 7 years back; if there is something obvious that I am missing, please let me know. Also, I am cc'ing all the people who signed off or reviewed the original commit. Note that this is my first contribution to EDK-II; I have tried to follow the guidelines as closely as possible, but if there is still something wrong with formatting etc., let me know and I shall submit a v2 with the issues fixed. That being said, I did run PatchCheck.py and it reported no errors. Cheers! -Jan Bobek Jan Bobek (1): MdePkg/BaseLib: Fix invalid memory access in AArch64 SetJump/LongJump MdePkg/Library/BaseLib/AArch64/SetJumpLongJump.S | 8 ++++---- MdePkg/Library/BaseLib/AArch64/SetJumpLongJump.asm | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) -- 2.28.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#65725): https://edk2.groups.io/g/devel/message/65725 Mute This Topic: https://groups.io/mt/77195591/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-