DynamoRIO / DynamoRIO/dynamorio
AArch64 sigcontext handling has transparency issues
- 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
Assessment
This issue has not been assessed yet.