diff options
| author | Ilya Leoshkevich <[email protected]> | 2021-02-10 21:45:02 +0100 |
|---|---|---|
| committer | Alexei Starovoitov <[email protected]> | 2021-02-11 22:03:19 -0800 |
| commit | b2e37a7114ef52b862b4421ed4cd40c4ed2a0642 (patch) | |
| tree | f73cb840add63bc77b4b4e435b25dcb9d0d74a0b /tools/perf/scripts/python/bin | |
| parent | 6a5df969ff80c1589ba9fd9136b77a4fb93371d0 (diff) | |
bpf: Fix subreg optimization for BPF_FETCH
All 32-bit variants of BPF_FETCH (add, and, or, xor, xchg, cmpxchg)
define a 32-bit subreg and thus have zext_dst set. Their encoding,
however, uses dst_reg field as a base register, which causes
opt_subreg_zext_lo32_rnd_hi32() to zero-extend said base register
instead of the one the insn really defines (r0 or src_reg).
Fix by properly choosing a register being defined, similar to how
check_atomic() already does that.
Signed-off-by: Ilya Leoshkevich <[email protected]>
Signed-off-by: Alexei Starovoitov <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions