RFR: 8264130: PAC-RET protection for Linux/AArch64 [v2]

Andrew Dinn adinn at openjdk.java.net
Thu Nov 11 11:37:40 UTC 2021


On Thu, 11 Nov 2021 11:19:03 GMT, Andrew Dinn <adinn at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 5185:
>> 
>>> 5183: // ROP Protection
>>> 5184: 
>>> 5185: void MacroAssembler::protect_return_address() {
>> 
>> We need proper, full, detailed comments about what these functions do, with reference to primary AArch64 documentation.
>
> As far as the AArch64 docs are concerned the relevant details are provided in ARM-ARM D
> 
> - The PAC functionality is described in ARM-ARM Section D5.1.5
> - Overview of the PAC instructions is provided in section C3.1.9
> - Detailed PAC instruction descriptions are provided in C6.2.195 - C6.2.199
> 
> n.b. I am specifically referring to my (possibly out of date) copy ARM-DDI 0487D.a (ID103018) which is the Initial v8.4 EAC release from 2018.
> 
> That said, I agree that a description of how these functions use the underlying PAC support and what, effectively, they achieve via that usage would be necessary. A reference to the relevant sections of the ARM doc in the code would be helpful.

Correction:
Using the most up to date ARM ARM G  [ARM DDI 0487G.a (ID011921)]

- The PAC functionality is described in ARM-ARM Section D5.1.5
- Overview of the PAC instructions is provided in section C3.1.10
- Detailed PAC instruction descriptions are provided in C6.2.208 - C6.2.212

-------------

PR: https://git.openjdk.java.net/jdk/pull/6334



More information about the build-dev mailing list