Granary / granary

Dynamic binary translation framework for instrumenting the Linux kernel and its modules
Other
76 stars 6 forks source link

Qeustion:Does granary supports shadow memory so far? #13

Closed renzhengeek closed 10 years ago

renzhengeek commented 10 years ago

Shadow memory is a powerful tmemory check technique. For example, Memcheck used widely is build on Valgrind in user-level, which implements shadow memory. Greatly, granary is the first project to do DBI(dynamic binary instrumentation) for kernel module, as far as I am seen.

Below is my question: I notice that there is "shadow_memory" lable in Common Makefile Options->GR_CLIENT in README file. But there seems no source related shadow memory in source project->client directory.

Thanks for your wonderful work!

pgoodman commented 10 years ago

Not full shadow memory, unfortunately. The virtual address layout on x86-64 is pretty complicated so we haven't yet decided on how to do it.The closest there is is selective shadow memory via watchpoints. This is used in clients like the bounds checker (shadow memory stores bounds). A minimal example that doesn't actually do anything (yet) is the lifetime client.

pgoodman commented 10 years ago

The technique is described in our workshop paper here: www.eecg.utoronto.ca/.../debugging-with-behavioral-watchpoints.pdf

The performance has most likely gotten better since then as those are pretty old charts.

On 25 February 2014 09:24, Peter Goodman peter.goodman@gmail.com wrote:

Not full shadow memory, unfortunately. The virtual address layout on x86-64 is pretty complicated so we haven't yet decided on how to do it.

The closest there is is selective shadow memory via watchpoints. This is used in clients like the bounds checker (shadow memory stores bounds). A minimal example that doesn't actually do anything (yet) is the lifetime client.

Sent from my mobile device. From: Ren Zhen Sent: Tuesday, February 25, 2014 3:46 AM To: Granary/granary Reply To: Granary/granary Subject: [granary] Qeustion:Does granary supports shadow memory so far? (#13)

Shadow memory is a powerful tmemory check technique. For example, Memcheck used widely is build on Valgrind in user-level, which implements shadow memory. Greatly, granary is the first project to do DBI(dynamic binary instrumentation) for kernel module, as far as I am seen.

Below is my question: I notice that there is "shadow_memory" lable in Common Makefile Options->GR_CLIENT in README file. But there seems no source related shadow memory in source project->client directory.

Thanks for your wonderful work!

Reply to this email directly or view it on GitHub.