DynamoRIO / DynamoRIO/dynamorio

treat cache management instruction taking addresses as "not real memory loads"?

Open
#4,401 1 comment 0 reactions 0 assignees View on GitHub
Component-API Component-DrMemtrace
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

Xref the recently-added memory operands for AArch64 cache management
instructions in PR #4386. There we gave them sizes of 1, matching x86's
OP_clflush and prefetch instructions (but I noticed that OP_invlpg has a 0
size).

I'm thinking the size of all these cache operations should match OP_invlpg
and have a 0 size, and that we should change
opc_is_not_a_real_memory_load() to just look for a zero-sized memory
operand? I think most tools (taint tracking is always the example I think
of) would not want to think of these as reading a byte of memory: they
should not interact w/ the taint of data I would think. A cache simulator
will already be handling them specially.

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.