Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

native_exec regression: dr_app_running_under_dynamorio is marked as a gateway #2371

Closed
derekbruening opened this issue Apr 20, 2017 · 0 comments

Comments

@derekbruening
Copy link
Contributor

derekbruening commented Apr 20, 2017

Originally is_native_pc() only checked native_exec_areas.
But 6a8d7d2 added "is_dr_native_pc() ||" to include DR routines.

The problem is that is_native_pc is also used for at_native_exec_gateway().
If native_exec_areas is non-empty, it then considers dr_app_running_under_dynamorio to be a
place where we have to go native.

The query routine needs to be split: the native_elf calls should include DR entries, but gateway checks should not.

@derekbruening derekbruening self-assigned this Apr 20, 2017
derekbruening added a commit that referenced this issue Apr 21, 2017
Split off the uses of is_native_pc() as a test for targets that should
not re-takeover as a new routine is_stay_native_pc().  Use of
dr_app_running_under_dynamorio() was broken in the presence of non-empty
native_exec_areas by 6a8d7d2, causing its execution to go native.

Fixes #2371
derekbruening added a commit that referenced this issue Apr 21, 2017
Split off the uses of is_native_pc() as a test for targets that should
not re-takeover as a new routine is_stay_native_pc().  Use of
dr_app_running_under_dynamorio() was broken in the presence of non-empty
native_exec_areas by 6a8d7d2, causing its execution to go native.

Fixes #2371
derekbruening added a commit that referenced this issue Apr 21, 2017
Split off the uses of is_native_pc() as a test for targets that should
not re-takeover as a new routine is_stay_native_pc().  Use of
dr_app_running_under_dynamorio() was broken in the presence of non-empty
native_exec_areas by 6a8d7d2, causing its execution to go native.

Fixes #2371
mikelui pushed a commit to VANDAL/dynamorio-sigil2 that referenced this issue Apr 25, 2017
…RIO#2378)

Split off the uses of is_native_pc() as a test for targets that should
not re-takeover as a new routine is_stay_native_pc().  Use of
dr_app_running_under_dynamorio() was broken in the presence of non-empty
native_exec_areas by 6a8d7d2, causing its execution to go native.

Fixes DynamoRIO#2371
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant