diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2020-07-17 18:53:26 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-07-21 22:26:25 +0200 |
commit | 94ad428df53688a1f80ab55f2b1186101510a778 (patch) | |
tree | 98b3673de83bb6f68512db53ddc837ac09cbe233 /arch/s390/net | |
parent | s390/bpf: Tolerate not converging code shrinking (diff) | |
download | linux-94ad428df53688a1f80ab55f2b1186101510a778.tar.xz linux-94ad428df53688a1f80ab55f2b1186101510a778.zip |
s390/bpf: Use bpf_skip() in bpf_jit_prologue()
Now that we have bpf_skip() for emitting nops, use it in
bpf_jit_prologue() in order to reduce code duplication.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200717165326.6786-6-iii@linux.ibm.com
Diffstat (limited to 'arch/s390/net')
-rw-r--r-- | arch/s390/net/bpf_jit_comp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c index a78c5b59e1ab..26f97a10e793 100644 --- a/arch/s390/net/bpf_jit_comp.c +++ b/arch/s390/net/bpf_jit_comp.c @@ -519,10 +519,11 @@ static void bpf_jit_prologue(struct bpf_jit *jit, u32 stack_depth) /* xc STK_OFF_TCCNT(4,%r15),STK_OFF_TCCNT(%r15) */ _EMIT6(0xd703f000 | STK_OFF_TCCNT, 0xf000 | STK_OFF_TCCNT); } else { - /* j tail_call_start: NOP if no tail calls are used */ - EMIT4_PCREL(0xa7f40000, 6); - /* bcr 0,%0 */ - EMIT2(0x0700, 0, REG_0); + /* + * There are no tail calls. Insert nops in order to have + * tail_call_start at a predictable offset. + */ + bpf_skip(jit, 6); } /* Tail calls have to skip above initialization */ jit->tail_call_start = jit->prg; |