Signed-off-by: David S. Miller <da...@davemloft.net>
---

Committed to net-next.

 arch/sparc/net/bpf_jit_comp_64.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/sparc/net/bpf_jit_comp_64.c b/arch/sparc/net/bpf_jit_comp_64.c
index 4a52d34..098874a 100644
--- a/arch/sparc/net/bpf_jit_comp_64.c
+++ b/arch/sparc/net/bpf_jit_comp_64.c
@@ -802,8 +802,13 @@ static void build_prologue(struct jit_ctx *ctx)
 {
        s32 stack_needed = BASE_STACKFRAME;
 
-       if (ctx->saw_frame_pointer || ctx->saw_tail_call)
-               stack_needed += MAX_BPF_STACK;
+       if (ctx->saw_frame_pointer || ctx->saw_tail_call) {
+               struct bpf_prog *prog = ctx->prog;
+               u32 stack_depth;
+
+               stack_depth = prog->aux->stack_depth;
+               stack_needed += round_up(stack_depth, 16);
+       }
 
        if (ctx->saw_tail_call)
                stack_needed += 8;
-- 
2.1.2.532.g19b5d50

Reply via email to