OSDN Git Service

s390: fix br_r1_trampoline for machines without exrl
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 6 Aug 2018 12:26:39 +0000 (14:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Sep 2018 07:18:40 +0000 (09:18 +0200)
commit2502064731b133b87540758678b4485c0dbdc925
tree0a21be7d4334c42cbbed2803087094c84e2af136
parent2edb10cbf21fca9b220a2bdf0b87b7bbeaf1e1e9
s390: fix br_r1_trampoline for machines without exrl

commit 26f843848bae973817b3587780ce6b7b0200d3e4 upstream.

For machines without the exrl instruction the BFP jit generates
code that uses an "br %r1" instruction located in the lowcore page.
Unfortunately there is a cut & paste error that puts an additional
"larl %r1,.+14" instruction in the code that clobbers the branch
target address in %r1. Remove the larl instruction.

Cc: <stable@vger.kernel.org> # v4.17+
Fixes: de5cb6eb51 ("s390: use expoline thunks in the BPF JIT")
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/net/bpf_jit_comp.c