From: Daniel Borkmann Date: Mon, 14 May 2018 21:22:31 +0000 (+0200) Subject: bpf, arm64: save 4 bytes of unneeded stack space X-Git-Tag: v5.15~8692^2~223^2~9^2~3 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=09ece3d0f2ee524b8d1d3c775d9eeb50c40558d8;p=mirror_ubuntu-kernels.git bpf, arm64: save 4 bytes of unneeded stack space Follow-up to 816d9ef32a8b ("bpf, arm64: remove ld_abs/ld_ind") in that the extra 4 byte JIT scratchpad is not needed anymore since it was in ld_abs/ld_ind as stack buffer for bpf_load_pointer(). Signed-off-by: Daniel Borkmann Signed-off-by: Alexei Starovoitov --- diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c index 0b40c8fb0706..85113cab2046 100644 --- a/arch/arm64/net/bpf_jit_comp.c +++ b/arch/arm64/net/bpf_jit_comp.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -188,7 +187,7 @@ static int build_prologue(struct jit_ctx *ctx) * | ... | BPF prog stack * | | * +-----+ <= (BPF_FP - prog->aux->stack_depth) - * |RSVD | JIT scratchpad + * |RSVD | padding * current A64_SP => +-----+ <= (BPF_FP - ctx->stack_size) * | | * | ... | Function call stack @@ -220,9 +219,7 @@ static int build_prologue(struct jit_ctx *ctx) return -1; } - /* 4 byte extra for skb_copy_bits buffer */ - ctx->stack_size = prog->aux->stack_depth + 4; - ctx->stack_size = STACK_ALIGN(ctx->stack_size); + ctx->stack_size = STACK_ALIGN(prog->aux->stack_depth); /* Set up function call stack */ emit(A64_SUB_I(1, A64_SP, A64_SP, ctx->stack_size), ctx);