diff options
author | Eduard Zingerman <[email protected]> | 2023-06-13 18:38:21 +0300 |
---|---|---|
committer | Andrii Nakryiko <[email protected]> | 2023-06-13 15:14:27 -0700 |
commit | 904e6ddf4133c52fdb9654c2cd2ad90f320d48b9 (patch) | |
tree | f058b54d3abf0198d69d18f11943f17db132e9d3 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 25085b4e9251c77758964a8e8651338972353642 (diff) |
bpf: Use scalar ids in mark_chain_precision()
Change mark_chain_precision() to track precision in situations
like below:
r2 = unknown value
...
--- state #0 ---
...
r1 = r2 // r1 and r2 now share the same ID
...
--- state #1 {r1.id = A, r2.id = A} ---
...
if (r2 > 10) goto exit; // find_equal_scalars() assigns range to r1
...
--- state #2 {r1.id = A, r2.id = A} ---
r3 = r10
r3 += r1 // need to mark both r1 and r2
At the beginning of the processing of each state, ensure that if a
register with a scalar ID is marked as precise, all registers sharing
this ID are also marked as precise.
This property would be used by a follow-up change in regsafe().
Signed-off-by: Eduard Zingerman <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Acked-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions