1. 17 1月, 2018 1 次提交
    • D
      bpf, arm64: fix stack_depth tracking in combination with tail calls · a2284d91
      Daniel Borkmann 提交于
      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: f1c9eed7 ("bpf, arm64: take advantage of stack_depth tracking")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      a2284d91
  2. 15 1月, 2018 3 次提交
  3. 12 1月, 2018 15 次提交
  4. 11 1月, 2018 21 次提交