DynamoRIO / DynamoRIO/dynamorio

AArch64 sigcontext handling has transparency issues

Open
#7,651 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

While developing a test for a different sigcontext bug (PR coming soon) I found a transparency issue with signal delivery under DynamoRIO on AArch64.

The test app reuses the `detach_statch` gpr state check function to create an AArch64 equivalent to the existing x86 `linux.sigcontext` test. When that app is run natively the signal context contains FPSIMD and SVE context records with the appropriate register data. When the test app is run under `drrun` it contains the correct register data but it also contains an extra `esr_context` (Exception Syndrome Register) record with the value `0x0000000092000007` indicating a read fault which should not be there.

It's not clear where this record is coming from but I think we need to take a careful look at AArch64 sigcontext handling and write some directed tests to flush out any more lingering bugs.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.