Using return address predictor to speed up control stack return address verification
AssigneeAdvanced Micro Devices, Inc.
InventorsMarius Evers, David A. Kaplan, Debjit Das Sarma
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdvanced Micro Devices, Inc.
InventorsMarius Evers, David A. Kaplan, Debjit Das Sarma
Estimating the term…
Overhead associated with verifying function return addresses to protect against security exploits is reduced by taking advantage of branch prediction mechanisms for predicting return addresses. More specifically, returning from a function includes popping a return address from a data stack. Well-known security exploits overwrite the return address on the data stack to hijack control flow. In some processors, a separate data structure referred to as a control stack is used to verify the data stack. When a return instruction is executed, the processor issues an exception if the return addresses on the control stack and the data stack are not identical. This overhead can be avoided by taking advantage of the return address stack, which is a data structure used by the branch predictor to predict return addresses. In most situations, if this prediction is correct, the above check does not need to occur, thus reducing the associated overhead.
A method for executing a return instruction on a processor, the method comprising:
A computing pipeline for executing a return instruction, the computing pipeline comprising:
A computing device comprising:
Dependencies are inferred from the claim text.