JDK-8167595 : AArch64: SEGV in stub code cipherBlockChaining_decryptAESCrypt
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: aarch64
  • Submitted: 2016-10-12
  • Updated: 2021-02-01
  • Resolved: 2016-10-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9 Other
9 b143Fixed openjdk8u292Fixed
Related Reports
Relates :  
Relates :  
Description
Jtreg test jdk/test/com/sun/crypto/provider/Cipher/CTS/CTSMode.java
failed with SIGSEGV on option "-Xcomp -XX:-TieredCompilation".

The crash happens at stub code cipherBlockChaining_decryptAESCrypt.

Checking the jdk source code CipherTextStealing.decryptFinal and its
callee CipherBlockChaining.decrypt/implDecrypt, we can see that
cipherLen which is passed to the stub code can be 0. The unexpected
len_reg value makes the load from invalid address.

The following patch could fix this issue:

http://people.linaro.org/~ningsheng.jian/webrev/cbc-stub-fix/webrev.00/

It aligns with the Java code implementation and passed JTreg tests. To
make code consistent, I also update the encrypt part.