summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2020-06-02 19:45:55 +0200
committerDaniel Borkmann <daniel@iogearbox.net>2020-06-02 21:04:04 +0200
commit33d21f18204cb33b43ca6c78c8180949f6dc7227 (patch)
tree8f04f223a9c990e9cd2c829f9b3d06b62da152ce
parenteffe5be17706167ee968fa28afe40dec9c6f71db (diff)
downloadlinux-33d21f18204cb33b43ca6c78c8180949f6dc7227.tar.gz
linux-33d21f18204cb33b43ca6c78c8180949f6dc7227.tar.bz2
linux-33d21f18204cb33b43ca6c78c8180949f6dc7227.zip
s390/bpf: Use bcr 0,%0 as tail call nop filler
Currently used 0x0000 filler confuses bfd disassembler, making bpftool prog dump xlated output nearly useless. Fix by using a real instruction. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20200602174555.2501389-1-iii@linux.ibm.com
-rw-r--r--arch/s390/net/bpf_jit_comp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c
index 0f37a1b635f8..f4242b894cf2 100644
--- a/arch/s390/net/bpf_jit_comp.c
+++ b/arch/s390/net/bpf_jit_comp.c
@@ -503,7 +503,8 @@ static void bpf_jit_prologue(struct bpf_jit *jit, u32 stack_depth)
} else {
/* j tail_call_start: NOP if no tail calls are used */
EMIT4_PCREL(0xa7f40000, 6);
- _EMIT2(0);
+ /* bcr 0,%0 */
+ EMIT2(0x0700, 0, REG_0);
}
/* Tail calls have to skip above initialization */
jit->tail_call_start = jit->prg;