RFR: 8286596: AArch64: -XX:UseBranchProtection=pac-ret crashes after JDK-8284161
Nick Gasson
ngasson at openjdk.java.net
Thu May 12 15:00:16 UTC 2022
`RegisterSaver::restore_live_registers()` used to call `__ leave()` but after the Loom integration it directly pops LR/FP from the stack. With `-XX:UseBranchProtection=pac-ret` we need a call to `__ authenticate_return_address()` here to insert the AUTIA instruction to check and strip the PAC code from the saved LR.
Tested `java -XX:UseBranchProtection=pac-ret -version` on a machine that supports PAC, plus tier1. Note that some additional fixes will be required to support virtual threads with PAC enabled.
-------------
Commit messages:
- 8286596: AArch64: -XX:UseBranchProtection=pac-ret crashes after JDK-8284161
Changes: https://git.openjdk.java.net/jdk/pull/8682/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8682&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8286596
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/8682.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8682/head:pull/8682
PR: https://git.openjdk.java.net/jdk/pull/8682
More information about the hotspot-compiler-dev
mailing list