Code pointer authentication for hardware flow control
AssigneeQUALCOMM Incorporated
InventorsCan ACAR, Arvind KRISHNASWAMY, Robert TURNER
Life of this patent
Estimating the term…
Abstract
Techniques for enforcing flow control of a software program in a processor are provided. An example method according to these techniques includes analyzing program code of the software program to identify a code pointer in the program code, generating an authentication tag based on the code pointer, and modifying the code pointer in the program code with the authentication tag to generate a tagged code pointer.
Claims30
A method for enforcing flow control of a software program in a processor, the method comprising:
- analyzing program code of the software program to identify a code pointer in the program code;
- generating an authentication tag based on the code pointer;
- and
- modifying the code pointer in the program code with the authentication tag to generate a tagged code pointer.
An apparatus for enforcing flow control of a software program in a processor, the apparatus comprising:
- means for analyzing program code of the software program to identify a code pointer in the program code;
- means for generating an authentication tag based on the code pointer;
- and
- means for modifying the code pointer in the program code with the authentication tag to generate a tagged code pointer.
An apparatus for enforcing flow control of a software program in a processor, the apparatus comprising:
- a processor configured to:
- analyze program code of the software program to identify a code pointer in the program code;
- generate an authentication tag based on the code pointer;
- and
- modify the code pointer in the program code with the authentication tag to generate a tagged code pointer.
A non-transitory computer-readable medium, having stored thereon computer-readable instructions for enforcing flow control of a software program in a processor, comprising instructions configured to cause a computer to:
- analyze program code of the software program to identify a code pointer in the program code;
- generate an authentication tag based on the code pointer;
- and
- modify the code pointer in the program code with the authentication tag to generate a tagged code pointer.
Dependencies are inferred from the claim text.