DynamoRIO / DynamoRIO/dynamorio

bb fall-through onto unreadable page handling is not 100% transparent

Open
#1,871 1 comment 0 reactions 0 assignees View on GitHub
Bug-AppFail Priority-Low Transparency
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

A bb that falls through onto a subsequent unreadable page is not handled perfectly.

check_new_page_contig() won't complain, b/c It decodes first and throws away the new instr if it's off onto an incompatible vmarea: so we'll fault before we call it.

We directly generate a fault to the app in our signal handler, which is not transparent if the app were to catch and handle the execution fault: we never executed the intervening instrs in the bb that we successfully decoded.

We don't really want to pay the cost of the setjmp for a try around every decode, so it's not clear the simplest way to solve this.

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.