RFR: 8282306: os::is_first_C_frame(frame*) crashes on invalid link access [v15]

David Holmes dholmes at openjdk.java.net
Tue Mar 22 01:58:44 UTC 2022


On Mon, 21 Mar 2022 12:13:14 GMT, Johannes Bechberger <duke at openjdk.java.net> wrote:

>> This PR introduces a new method `can_access_link` into the frame class to check the accessibility of the link information. It furthermore adds a new `os::is_first_C_frame(frame*, Thread*)` that uses the `can_access_link` method
>> and the passed thread object to check the validity of frame pointer, stack pointer, sender frame pointer and sender stack pointer. This should reduce the possibilities for crashes.
>
> Johannes Bechberger has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix minor style issues

src/hotspot/share/runtime/os.cpp line 1183:

> 1181: // Looks like all platforms can use the same function to check if C
> 1182: // stack is walkable beyond current frame.
> 1183: // Returns true if this is not the case, i.e. the frame is possibly

This comment sounds wrong. Surely we return true if it is the case that the given frame is the first C frame on the stack?

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

PR: https://git.openjdk.java.net/jdk/pull/7591


More information about the hotspot-dev mailing list