]> git.baikalelectronics.ru Git - kernel.git/commit
s390/bpf: Fix optimizing out zero-extensions
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 6 Sep 2021 13:04:14 +0000 (15:04 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Thu, 16 Sep 2021 08:39:55 +0000 (10:39 +0200)
commit60cbbbc210e79a91280cb995e65454f8e2749bcf
tree566fa68b630035ccc491a6aa3ce8fba3366ee31b
parent638d7ef71356f80a8a8896cf20e56f634c6a2461
s390/bpf: Fix optimizing out zero-extensions

Currently the JIT completely removes things like `reg32 += 0`,
however, the BPF_ALU semantics requires the target register to be
zero-extended in such cases.

Fix by optimizing out only the arithmetic operation, but not the
subsequent zero-extension.

Reported-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
Fixes: 03773c1ba70e ("s390/bpf: Add s390x eBPF JIT compiler backend")
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/net/bpf_jit_comp.c