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

Add drmemtrace invariant checks that read/write records match operands #5975

Closed
derekbruening opened this issue Apr 14, 2023 · 0 comments · Fixed by #6283
Closed

Add drmemtrace invariant checks that read/write records match operands #5975

derekbruening opened this issue Apr 14, 2023 · 0 comments · Fixed by #6283

Comments

@derekbruening
Copy link
Contributor

Now that we have the decoder linked into the invariant checker we can add more invariant checks: making sure the count and type of read and write records following each instruction matches its operands.

@ivankyluk ivankyluk self-assigned this Aug 9, 2023
ivankyluk added a commit that referenced this issue Aug 28, 2023
…cords matching operands.

Add an invariant check to verify the number of memory read/write records
is matching the operands.

Mark x86 "rep" operands as predicated, and skip the check since the
number of records depends on run time register values.

Change check_sane_control_flow() to use gen_instr_encoded() when
encoding is expeced.

Fixes #5975
ivankyluk added a commit that referenced this issue Aug 28, 2023
…cords matching operands.

Add an invariant check to verify the number of memory read/write records
is matching the operands.

Mark x86 "rep" operands as predicated, and skip the check since the
number of records depends on run time register values.

Change check_sane_control_flow() to use gen_instr_encoded() when
encoding is expeced.

Fixes #5975
ivankyluk added a commit that referenced this issue Sep 13, 2023
…6283)

Add an invariant check to verify the number of memory read/write records
is matching the operands.

Update check_sane_control_flow() to use instrlist_t and memref_with_IR_t
to avoid hardcoded encodings. Current tests fail the new check since
they have memory accesses.

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

Successfully merging a pull request may close this issue.

3 participants