RFR: 8290780: AArch64: Crash in c2 nmethod running RunThese30M.java

Andrew Haley aph at openjdk.org
Fri Jul 22 13:58:22 UTC 2022


Fix that masks the offsets used when adrp() is passed an unreachable destination. This reloc allows e.g. `adrp; movk; ldr` to access anywhere in the address space.


#  SIGSEGV (0xb) at pc=0x0000ffff55964edc, pid=2843096, tid=2850366
#
# JRE version: Java(TM) SE Runtime Environment (20.0+7) (fastdebug build 20-ea+7-377)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 20-ea+7-377, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# J 91101 c2 java.io.ObjectOutputStream.enableReplaceObject(Z)Z java.base at 20-ea (47 bytes) @ 0x0000ffff55964edc [0x0000ffff55964e80+0x000000000000005c]

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

Commit messages:
 - 8290780: AArch64: Crash in c2 nmethod running RunThese30M.java
 - 8290780: AArch64: Crash in c2 nmethod running RunThese30M.java
 - 8290780: AArch64: Crash in c2 nmethod running RunThese30M.java

Changes: https://git.openjdk.org/jdk/pull/9615/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=9615&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8290780
  Stats: 28 lines in 2 files changed: 4 ins; 21 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/9615.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9615/head:pull/9615

PR: https://git.openjdk.org/jdk/pull/9615


More information about the hotspot-dev mailing list