mirror of
https://github.com/clearlinux/graphene.git
synced 2026-09-06 22:01:29 +00:00
Graphene doesn't switch to an alternate stack of the application on signal handling. This means that app signal handler operates on Graphene-internal alt stack. If app allocates some variables on this stack and then uses them as syscall arguments, Graphene syscall emulators typically check these arguments via test_user_memory() and fail because they observe "invalid" (Graphene-internal) memory regions. Proper fix of this issue is to switch stacks when jumping to/from Graphene LibOS and application. See #1218. For now simply stub these test_user_memory() checks in appropriate places.