RFR: JDK-8294902: Undefined Behavior in C2 regalloc with null references

Andrew Haley aph-open at littlepinkcloud.com
Mon Oct 31 18:51:34 UTC 2022


This patch fixes the remaining null pointer dereference bugs that I know of.

For the main bug, C2 was using a null reference to indicate an uninitialized Node_List. I replaced the null reference with a static sentinel.

I also turned on -fsanitize=null and found and fixed a bunch of other null pointer dereferences. With this,I have run a full bootstrap and tier1 tests with -fsanitize=null enabled.

I have checked that the code generated by GCC is not worse in any significant way, so I don't expect to see any performance regressions.

I'd like to enable -fsanitize=null in debug builds to prevent regressions in this area. What do you think?

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


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

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


More information about the hotspot-dev mailing list