On Tue, Jan 16, 2018 at 03:46:08AM +0100, Daniel Borkmann wrote:
> 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: f1c9eed7f437 ("bpf, arm64: take advantage of stack_depth tracking")
> Signed-off-by: Daniel Borkmann <dan...@iogearbox.net>

Tested on arm64 qcom server and applied to bpf tree.
Thank you Daniel.

Reply via email to