DynamoRIO / DynamoRIO/dynamorio
libipt decode fails due to missing mapped addresses
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
I'm seeing errors like the following happen sporadically during decoding of Intel-PT kernel traces:
```
408: *** postcmd failed (1): drpt2ir: [28430, IP:ffffffffc11dd000] get next
408: instruction error: no memory mapped at this address
```
When it happens, it's always the same address that's unmapped. When I hard-coded that address (and another that was revealed when this error was fixed) to be copied in kcore_copy, the error went away. I couldn't find details of the address in /proc/modules or /proc/kallsyms but it is a part of the kcore code section (we copy only the memory that corresponds to the live kernel modules from /proc/modules). It's presumably some kernel code that's executing during system calls.
The errors don't happen every time but they seem to have started happening frequently enough. Not sure if it was some change in my machine's kernel that caused the unmapped instrs to be executed.
Contributor guide
Assessment
This issue has not been assessed yet.