[jdk18] RFR: 8272058: 25 Null pointer dereference defect groups in 4 files
Daniel D.Daugherty
dcubed at openjdk.java.net
Mon Dec 20 21:29:51 UTC 2021
On Mon, 20 Dec 2021 20:50:14 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
> A small refactoring to resolve a Parfait complaint about the return value from
> `MacroAssembler::target_addr_for_insn(address insn_addr, unsigned insn)`
> on AARCH64. The logic that supports returning `nullptr` as the target addr for
> a particular instruction is moved from
> `MacroAssembler::target_addr_for_insn(address insn_addr, unsigned insn)` to
> `MacroAssembler::target_addr_for_insn_allow_null_ret(address insn_addr, unsigned insn)`.
> A couple of `target_addr_for_insn()` call sites that can tolerate a `nullptr` are
> converted to use `target_addr_for_insn_allow_null_ret()`.
>
> This fix has been tested with Mach5 Tier[1-3].
The Parfait complaint at the root of this issue is:
MacroAssembler::target_addr_for_insn
open/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
286. | } else if (Instruction_aarch64::extract(insn, 31, 22) == 0b1011100101 &&
287. | Instruction_aarch64::extract(insn, 4, 0) == 0b11111) {
288. | return 0; // Null pointer introduced .
289. | } else {
290. | ShouldNotReachHere();
-------------
PR: https://git.openjdk.java.net/jdk18/pull/51
More information about the hotspot-runtime-dev
mailing list