WSL2-Linux-Kernel/arch/arm64
Daniel Borkmann a2284d912b bpf, arm64: fix stack_depth tracking in combination with tail calls
Using dynamic stack_depth tracking in arm64 JIT is currently broken in
combination with tail calls. In prologue, we cache ctx->stack_size and
adjust SP reg for setting up function call stack, and tearing it down
again in epilogue. Problem is that when doing a tail call, the cached
ctx->stack_size might not be the same.

One way to fix the problem with minimal overhead is to re-adjust SP in
emit_bpf_tail_call() and properly adjust it to the current program's
ctx->stack_size. Tested on Cavium ThunderX ARMv8.

Fixes: f1c9eed7f4 ("bpf, arm64: take advantage of stack_depth tracking")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2018-01-16 11:29:15 -08:00
..
boot arm64: dts: uniphier: fix gpio-ranges property of PXs3 SoC 2018-01-04 17:09:01 +01:00
configs
crypto
include arm64/sve: Report SVE to userspace via CPUID only if supported 2017-12-14 15:14:30 +00:00
kernel arm64: fpsimd: Fix copying of FP state from signal frame into task struct 2017-12-15 16:12:35 +00:00
kvm ARM fixes: 2017-12-21 10:44:13 -08:00
lib
mm arm64: fix CONFIG_DEBUG_WX address reporting 2017-12-14 10:18:23 +00:00
net bpf, arm64: fix stack_depth tracking in combination with tail calls 2018-01-16 11:29:15 -08:00
xen
Kconfig arm64: Add software workaround for Falkor erratum 1041 2017-12-12 11:45:19 +00:00
Kconfig.debug
Kconfig.platforms
Makefile