DynamoRIO / DynamoRIO/drmemory

auto-add new app segments to umbra x64

Open
#1,640 0 comments 0 reactions 0 assignees View on GitHub
Component-Framework Migrated Priority-Medium Type-Feature
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on September 26, 2014 11:51:34_

64-bit umbra today just fails if app memory appears outside of its
hardcoded app segment ranges. We should add auto-adding of new app
segments, as it's pretty easy to construct an app that breaks umbra today.

We could try to enforce that new app segments satisfy the constraints on
shadow mapping by failing fixed address requests or adding our own fixed to
guide the allocation, though that's not sufficient when the kernel picks
(e.g., NtMapCMFModule). The only surefire way is to reserve the entire
address space regions that conflict which may be prohibitively expensive
in pagetable commits? For now maybe we fail, but at least we'll be more
robust than never auto-adding.

This is independent of lazy allocation and whether the client tracks app
allocs and allocates shadow memory then or it's done lazily in read/write
shadow memory routines, as all of that only works within app segments.

_Original issue: http://code.google.com/p/drmemory/issues/detail?id=1640_

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.