RFR: 8332865: ubsan: os::attempt_reserve_memory_between reports overflow
Matthias Baesken
mbaesken at openjdk.org
Tue Jun 4 16:56:21 UTC 2024
When running by ubsan-enabled binaries on Linux x86_64, os::attempt_reserve_memory_between reports overflows.
"runtime error: pointer index expression with base 0x000000001000 overflowed to 0xfffffffffffff000"
This coding triggers the ubsan issue
char* const hi_att = align_down(MIN2(max, absolute_max) - bytes, alignment_adjusted);
if (hi_att > max) {
return nullptr; // overflow
}
However the function already contains overflow handling, so probably it is sufficient to add an attribute to the function os::attempt_reserve_memory_between to disable ubsan checks for this function.
-------------
Commit messages:
- JDK-8332865
Changes: https://git.openjdk.org/jdk/pull/19543/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19543&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8332865
Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/19543.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19543/head:pull/19543
PR: https://git.openjdk.org/jdk/pull/19543
More information about the hotspot-runtime-dev
mailing list