RFR: 8277204: Implement PAC-RET branch protection on Linux/AArch64 [v18]

Alan Hayward duke at openjdk.java.net
Mon Feb 7 11:32:15 UTC 2022


On Mon, 7 Feb 2022 11:06:20 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/frame_aarch64.cpp line 275:
>> 
>>> 273:   if (TracePcPatching) {
>>> 274:     tty->print_cr("patch_pc at address " INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "]",
>>> 275:                   p2i(pc_addr), p2i(*pc_addr), p2i(signed_pc));
>> 
>> Let's see both pc and signed pc here.
>
>> Let's see both pc and signed pc here, if they are different.

Are you sure? At the moment with PAC we get:

patch_pc at address 0x0000fffff58edf98 [0x0068ffffed17b5fc -> 0x00abffffed17b7f8]

With both signed and unsigned you'd have:

patch_pc at address 0x0000fffff58edf98 [0x0068ffffed17b5fc (0x0000ffffed17b5fc) -> 0x00abffffed17b7f8 (0x0000ffffed17b7f8)]

I prefer the first - it's shorter and you can infer the address from the signed version. Happy to go with the longer version if you think the shorter version is confusing.

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

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



More information about the build-dev mailing list