Skip to content
This repository has been archived by the owner on Nov 1, 2023. It is now read-only.

Improve precision of inline table access scanning #864

Merged
merged 3 commits into from
May 7, 2021

Conversation

ranweiler
Copy link
Member

  • Detect Sancov table accesses via static displacements, not just PC-relative
  • Explicitly skip instructions with no memory operand
  • Skip instructions whose effective address relies on (non-PC) register values

@ranweiler ranweiler requested a review from bmc-msft May 6, 2021 23:39
while decoder.can_decode() {
decoder.decode_out(&mut inst);

// If no memory operand, there is no table access.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In a future cleanup pass, we'll factor out all this detection logic into a standalone function or (configurable) struct.

@ranweiler
Copy link
Member Author

Build failed due tocargo audit check, addressed in #865.

@ranweiler ranweiler merged commit eba6fa4 into microsoft:main May 7, 2021
@ranweiler ranweiler deleted the sancov-scan-direct branch May 7, 2021 14:04
@ghost ghost locked as resolved and limited conversation to collaborators Jun 6, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants