ARM: net: bpf: avoid 'bx' instruction on non-Thumb capable CPUs
authorRussell King <rmk+kernel@armlinux.org.uk>
Sat, 13 Jan 2018 11:35:15 +0000 (11:35 +0000)
committerRussell King <rmk+kernel@armlinux.org.uk>
Wed, 17 Jan 2018 19:35:22 +0000 (19:35 +0000)
commite9062481824384f00299971f923fecf6b3668001
tree9eb1a903130c504a325c754051c6be9c27c8088c
parent36b0cb84ee858f02c256d26f0cb4229c78e3399e
ARM: net: bpf: avoid 'bx' instruction on non-Thumb capable CPUs

Avoid the 'bx' instruction on CPUs that have no support for Thumb and
thus do not implement this instruction by moving the generation of this
opcode to a separate function that selects between:

bx reg

and

mov pc, reg

according to the capabilities of the CPU.

Fixes: 39c13c204bb1 ("arm: eBPF JIT compiler")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/net/bpf_jit_32.c