summaryrefslogtreecommitdiff
path: root/tools/lib
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2021-02-10 21:45:02 +0100
committerAlexei Starovoitov <ast@kernel.org>2021-02-11 22:03:19 -0800
commitb2e37a7114ef52b862b4421ed4cd40c4ed2a0642 (patch)
treef73cb840add63bc77b4b4e435b25dcb9d0d74a0b /tools/lib
parent6a5df969ff80c1589ba9fd9136b77a4fb93371d0 (diff)
downloadlwn-b2e37a7114ef52b862b4421ed4cd40c4ed2a0642.tar.gz
lwn-b2e37a7114ef52b862b4421ed4cd40c4ed2a0642.zip
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 <iii@linux.ibm.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20210210204502.83429-1-iii@linux.ibm.com
Diffstat (limited to 'tools/lib')
0 files changed, 0 insertions, 0 deletions