RFR: 8323556: CDS archive space addresses should be randomized with ArchiveRelocationMode=1

Calvin Cheung ccheung at openjdk.org
Fri Jan 12 22:08:26 UTC 2024


Please review this small fix for ensuring the reserved archive space addresses are different from run to run. The bug is only on the aarch64 platforms. The fix is to call `os::init_random()` if aslr is `true` and not dumping CDS static archive.

Tested manually on linux-aarch64 and macosx-aarch64 platforms.

% ./jdk-23/fastdebug/bin/java -Xlog:cds --version | grep archive_space_rs | tail -1
[0.015s][info][cds] Reserved archive_space_rs [0x0000200000000000 - 0x0000200001000000] (16777216) bytes
% ./jdk-23/fastdebug/bin/java -Xlog:cds --version | grep archive_space_rs | tail -1
[0.014s][info][cds] Reserved archive_space_rs [0x0000080000000000 - 0x0000080001000000] (16777216) bytes

The fix also passed tiers 1 - 4 testing.

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

Commit messages:
 - 8323556: CDS archive space addresses should be randomized with ArchiveRelocationMode=1

Changes: https://git.openjdk.org/jdk/pull/17409/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17409&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8323556
  Stats: 17 lines in 1 file changed: 16 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/17409.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17409/head:pull/17409

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


More information about the hotspot-runtime-dev mailing list