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