DynamoRIO / DynamoRIO/drmemory

special not in map memory updated by kernel

Open
#1,327 1 comment 0 reactions 0 assignees View on GitHub
Migrated OpSys-Linux OpSys-x64 Priority-Medium Type-Feature
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

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.