DynamoRIO / DynamoRIO/drmemory
special not in map memory updated by kernel
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
_From [zhao...@google.com](https://code.google.com/u/106321947286816917100/) on September 09, 2013 10:49:46_
xref DynamoRIO-issue #1259 ( https://code.google.com/p/dynamorio/issues/detail?id=1259 )
For recent kernel like Ubuntu 12.10, there is a special memory that are not shown in the proc map but readable by the application.
```
0x7ffff7dda000 0x7ffff7dfc000 0x22000 0x0 /lib/x86_64-linux-gnu/ld-2.15.so
0x7ffff7fd2000 0x7ffff7fd5000 0x3000 0x0
0x7ffff7ff9000 0x7ffff7ffb000 0x2000 0x0
0x7ffff7ffb000 0x7ffff7ffc000 0x1000 0x0 [vdso]
0x7ffff7ffc000 0x7ffff7ffd000 0x1000 0x22000 /lib/x86_64-linux-gnu/ld-2.15.so
0x7ffff7ffd000 0x7ffff7fff000 0x2000 0x23000 /lib/x86_64-linux-gnu/ld-2.15.so
0x7ffffffde000 0x7ffffffff000 0x21000 0x0 [stack]
```
0xffffffffff600000 0xffffffffff601000 0x1000 0x0 [vsyscall]
(gdb) x/10i gettimeofday
0x7ffff7ffb700 : push %rbp
0x7ffff7ffb701 : mov %rsp,%rbp
0x7ffff7ffb704 : push % r12 0x7ffff7ffb706 : mov %rsi,% r12 0x7ffff7ffb709 : push %rbx
0x7ffff7ffb70a : mov 0xffffffffff5ff0a0,%eax
The memory 0xffffffffff5ff0a0 is not in the map, but accessible.
It seems that's the memory maintained by kernel for keeping the time so the program can get the time without a system call.
In the future for 64-bit Dr.Memory, we should special handling such memory as addressable and initialized.
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=1327_
Contributor guide
Assessment
This issue has not been assessed yet.