[aarch64-port-dev ] RFR(xs): Aarch64: ReservedStackAccess may leave stack guard in inconsistent state
Andrew Haley
aph at redhat.com
Wed Dec 19 17:59:42 UTC 2018
On 12/19/18 2:08 PM, Andrey Petushkov wrote:
> Hi All,
>
> Please review small fix for for the following problem: during execution of
> ReservedStackAccess annotated method it might happen that reserved pages
> are reguarded while yellow pages left unguarded. At the same time the state
> of stack guard is recorded as fully protected (stack_guard_enabled).
> Subsequent execution of ReservedStackAccess annotated method then may lead
> to VM crash instead of mere StackOverflowError.
> Reproduced with ReservedStackTestCompiler jtreg test on aarch32-jdk11 port
> codebase. The bug seem to be apparent and exists in aarch64-port as well,
> hence the review request.
> The actual fix is in aarch64-specific code but the shared code is changed
> as well to help to catch such bugs earlier in the future
>
> the link http://cr.openjdk.java.net/~apetushkov/ReservedStackAccess/
Looks good. I note that this makes the AArch64 logic the same as x86. I've
diffed the relevant section and we're good now.
What seems to have happened is that the change to os_linux_x86 in the
commit for 8046936: JEP 270: Reserved Stack Areas for Critical Sections
was not completely ported to AArch64.
Thanks.
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the aarch64-port-dev
mailing list