On 9 September 2016 at 12:18, Leif Lindholm <[email protected]> wrote: > On Fri, Sep 09, 2016 at 08:21:26AM +0100, Ard Biesheuvel wrote: >> When switching to the DXE phase stack, set the frame pointer to zero so >> that code walking the stack frame will not try to access stack frames\ > > Trailing '\'. > >> belonging to the old stack. > > Do you mean that code will check for zero and stop processing, or that > it will be accessing rubbish instead of parsing a valid-looking frame? >
I don't understand this question. If it is zero, it will stop processing. If it is not zero, it will proceed, and potentially traverse stack frames in memory that is now owned by someone else. > Either is an improvement, but if it is the latter I would prefer it > more explicitly stated. > > You can fix up on commit: > Reviewed-by: Leif Lindholm <[email protected]> > >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Ard Biesheuvel <[email protected]> >> --- >> MdePkg/Library/BaseLib/AArch64/SwitchStack.S | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/MdePkg/Library/BaseLib/AArch64/SwitchStack.S >> b/MdePkg/Library/BaseLib/AArch64/SwitchStack.S >> index 2bce9c998f4f..c3ac8d7e4dfe 100644 >> --- a/MdePkg/Library/BaseLib/AArch64/SwitchStack.S >> +++ b/MdePkg/Library/BaseLib/AArch64/SwitchStack.S >> @@ -40,6 +40,7 @@ InternalSwitchStackAsm ( >> ); >> **/ >> ASM_PFX(InternalSwitchStackAsm): >> + mov x29, #0 >> mov x30, x0 >> mov sp, x3 >> mov x0, x1 >> -- >> 2.7.4 >> _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

