Fix hijacking for ARM/ARM64/x86 on Unix (#20042) 14/201014/1 accepted/tizen/5.0/base/20190308.035751 submit/tizen_5.0_base/20190307.063951
authorJan Vorlicek <janvorli@microsoft.com>
Mon, 24 Sep 2018 23:51:44 +0000 (01:51 +0200)
committerWoongsuk Cho <ws77.cho@samsung.com>
Thu, 7 Mar 2019 06:21:59 +0000 (15:21 +0900)
commit6dca04a8e7afc711221a3dc499d696a192ffb540
treefb054b9bff2f50a504dc00ba36e26f533e45952b
parent76d2d2dd465ab9beb50786793876608279983885
Fix hijacking for ARM/ARM64/x86 on Unix (#20042)

* Fix hijacking for ARM/ARM64/x86 on Unix

We were not checking the case when we have interrupted a thread inside
of a function epilog for other architectures than amd64. When such an
interruption happens, GS cookie check in a stack walking has failed,
since we are unable to decode GS cookie location when the IP is in
epilog.
This fix implements IsIPInEpilog for all architectures and makes the
check unconditional.

Change-Id: I365be79d6b43ec900084bf2ec031b3555917f8e0
src/vm/excep.cpp
src/vm/excep.h
src/vm/threadsuspend.cpp