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

Reply via email to